Programación General > C/C++
Liberar Memoria
(1/1)
sergio__:
Buenas gente, tengo un problemita, mi programa esta perdiendo memoria, sospecho que no estoy liberando bien donde tengo que hacerlo la situacion es la siguiente:
Tengo un arbol binario, donde en cada nodo del arbol tengo una lista enlazada y algun que otro dato estatico
este algoritmo libera la lista del nodo del arbol?? o libera una lista en una copia del nodo que esta en el stack ?
--- Código: C --- void liberarListasArbol(TAB* arbol){ //Recorrido pre-order del arbol elArbol e; int error1=10,error2=10,error3=10; AB_ElemCte(*arbol,&e); lsVaciar(e.lista); e.lista=NULL; AB_ModifCte(arbol,&e); AB_MoverCte(arbol,IZQ,&error1); if (error1==TRUE){ liberarListasArbol(arbol); AB_MoverCte(arbol,PAD,&error3); } AB_MoverCte(arbol,DER,&error2); if (error2==TRUE){ liberarListasArbol(arbol); AB_MoverCte(arbol,PAD,&error3); } } void liberarArbol(TAB* arbol){ int error=10; AB_MoverCte(arbol,RAIZ,&error); liberarListasArbol(arbol); AB_Vaciar(arbol); }
las funciones lsVaciar(tListaSimple *l) y AB_Vaciar(TAB* arbol) liberan la lista y el arbol pues son del libro y ya estan testeados, el problema es si libero bien las listas de los nodos del arbol
gracias ^^!
Navegación
Ir a la versión completa