#define USECHRONO #undef HAVE_MPI #include "eval.hpp" #include #include #include #include #include using namespace aed; using namespace std; bool even(int x) { return x%2==0; } bool odd(int x) { return x%2; } bool ge7(int x) { return x>=7; } bool le3(int x) { return x<=3; } bool div4(int x) { return x%4==0; } bool isprime(int x) { return is_prime(abs(x)); } bool isnotprime(int x) { return !is_prime(abs(x)); } //---:---<*>---:---<*>- COMIENZA CODIGO FUNCION --:---<*>---:---<*>---:---<*> // COMPLETAR DNI y NOMBRE AQUI: // Nombre: Candela Avila Costa int DNI=42308360; void fillbalance(btree &B,btree::iterator itB, list &L){ if(L.empty())return; if(L.size()==1){ B.insert(B.end(),*L.begin()); return; } int tamanio = L.size(), nleft; nleft=tamanio/2; list Lleft,Lright; list::iterator it1 = L.begin(); advance(it1,nleft); Lleft.splice(Lleft.begin(),L,L.begin(),it1); // hgo lista left list::iterator raiz = L.begin(); B.insert(B.end(),*raiz); // le coloco de raiz el elemento del medio de la lista btree::iterator raizB = B.end(); raiz = L.erase(raiz); raiz = L.begin(); fillbalance(B,raizB.left(),Lleft); Lright.splice(Lright.begin(),L,raiz,L.end()); fillbalance(B,raizB.right(),Lright); } void fillbalance(btree &B,list &L) { if(L.empty())return; if(L.size()==1){ B.insert(B.end(),*L.begin()); return; } int tamanio = L.size(), nleft; nleft=tamanio/2; list Lleft,Lright; list::iterator it1 = L.begin(); advance(it1,nleft); Lleft.splice(Lleft.begin(),L,L.begin(),it1); // hgo lista left list::iterator raiz = L.begin(); B.insert(B.end(),*raiz); // coloca de raiz el elemento del medio de la lista btree::iterator raizB = B.end(); raiz = L.erase(raiz); raiz = L.begin(); fillbalance(B,raizB.left(),Lleft); Lright.splice(Lright.begin(),L,raiz,L.end()); fillbalance(B,raizB.right(),Lright); } //---:---<*>---:---<*>- FINALIZA CODIGO FUNCION --:---<*>---:---<*>---:---<*> int main() { Eval ev; int vrbs=0; ev.eval<1>(fillbalance,vrbs); return 0; }