Buenas, no estoy entendiendo como usar la función delete. Podrían subir como queda el código de esta función? O alguna ayuda de como pensarlo?
Gracias.
Buenas, no estoy entendiendo como usar la función delete. Podrían subir como queda el código de esta función? O alguna ayuda de como pensarlo?
Gracias.
Hola.
No me queda claro si tu duda es como implementar removerABB o como usar delete dentro de removerABB.
Si es lo primero, una idea de como encarar ese problema se presenta en este video: https://www.youtube.com/embed/HP1AFJl0j3s?start=620&end=2585&version=3 (a partir del minuto 34:25 se habla de remover)
Si es lo segundo, la función delete se usa para liberar memoria.
En este caso, si tenes un puntero de tipo ABB nodo; que apunta al nodo cuya memoria se quiere liberar, debes escribir la sentencia delete nodo;
Saludos
Profe, yo tengo una duda de eso del delete.
En removerMaxABB,
if(a-> der == NULL){
ABB borrar = a;
a = a -> izq;
delete aux;
}
esa parte de ahi, yo no deberia primero asignarle a borrar -> izq = NULL, asi se me desconecta con todo el arbol y despues le aplico delete?
if (a -> der == NULL){
ABB borrar = a;
a = a -> izq;
borrar -> izq = NULL;
delete aux;
}
entendi como lo hicieron en la solucion, solo que no me queda claro que pasa cuando aplico delete, si solo libero la memoria de ese nodo, o de todo lo que esta enganchado aun, osea todo el arbol.
Hola.
La operación delete solo libera el espacio de memoria al que apunta el puntero.
En este caso solo libera la memoria del nodo a que apunta el puntero borrar.
Por lo que, no es necesario asignar borarr->izq con NULL y el delete no eliminará todo el árbol.
Saludos