#define USECHRONO #undef HAVE_MPI #include "eval.hpp" #include #include #include #include using namespace aed; using namespace std; //---:---<*>---:---<*>- COMIENZA CODIGO FUNCION --:---<*>---:---<*>---:---<*> // COMPLETAR DNI y NOMBRE AQUI: // Nombre: Giuliana Cagnola int DNI=43009454; ///-------------------- ///Escribir una función void createab(btree &B, list &abpos,list &val); ///que, dado un árbol B, y dos listas de enteros abpos y val va tomando valores p y v ///de ambas listas y va insertando el valor v en la posición correspondiente a abpos=p. ///Las posiciones en abpos recorren los nodos en orden previo. ///-------------------- ///Auxiliar void createab(btree&B, btree::iterator it, list&abpos, list&val){ if(abpos.empty()) return; int p = *abpos.begin(); abpos.erase(abpos.begin()); int v = *val.begin(); val.erase(val.begin()); *it=v; if (!abpos.empty() && *abpos.begin() == 2*p+1) createab(B, it.left(), abpos, val); if (!abpos.empty() && *abpos.begin() == 2*p+2) createab(B, it.right(), abpos, val); } ///Wrapper void createab(btree&B, list&abpos, list&val){ if (abpos.size() != val.size()) return; createab(B, B.begin(), abpos, val); } //---:---<*>---:---<*>- FINALIZA CODIGO FUNCION --:---<*>---:---<*>---:---<*> int main() { Eval ev; int vrbs=0; ev.eval<1>(createab,vrbs); // ev.evalr<1>(createab,12345,vrbs); return 0; }