Ho provato con queste funzioni ma nn ho risolto nulla aiutatemi!!!!!!
con un input di dimensine di 1.000.000 il mio programma occupa 232 MegaBytecodice://Funzione ausiliaria: dealloca l'albero void dealloca_nodo(ABR T,tree& x){ tree q; q=x; while(x!=NULL){ x=Tree_delete(T,x); delete q; q=x; } } void dealloca_albero(ABR& T,tree x){ tree q; q=T->root; while(T!=NULL){ dealloca_nodo( T, x); /* T->root=Tree_delete(T,x); delete q; q=T->root; */ } T->root=Tree_delete(T,x); delete q; q=T->root; }
ho provato ha creare con l'operatore new la struttura nodo fuori dal ciclo for
o vabene con il new all'interno del ciclo for o il new all'esterno
mi serve una funzione ke dealloki la memoria . voi avete usato malloc ??? come funziona????
codice:
GRaziecodice:x=new nodo[dim]; T=new albero; inizializza_root(T); media=0; cout<<"\n"; for(int h=0;h<10;h++){ //Crea l'albero di dim elementi for (int i=0;i<dim;i++){ inizializza_nodo(x); x->key=rand(); if(i==0) t1=time(NULL); Inserimento(T,x); //Inorder(x); } t2=time(NULL); cout<<"tempo della "<<h+1<<" prova: "; cout<<difftime(t2,t1); cout<<"\n"; // devo inserire una funzione per liberare la memoria cout<<"tempo per deallocare la memoria...\n\n";

Rispondi quotando