Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- nodoArbol * borrar(nodoArbol * arbol, int dato)
- {
- if (arbol == NULL) //cuando el arbol no tiene info
- {
- //fin de todo
- }
- else //cuando el arbol tiene info
- {
- if (dato == arbol->dato)
- {
- //encontre el nodo
- if (arbol->izq !=NULL)
- {
- nodoArbol * masDer = NMD(arbol->izq); //13
- arbol->dato = masDer->dato; //reemplazo 15 x 13, 15 out
- arbol->izq = borrar(arbol->izq,masDer->dato); //todo de vuelta pero con el 13
- }
- else (arbol->der!=NULL)
- {
- nodoArbol * masIzq = NMI(arbol->der); //18
- arbol->dato = masIzq->dato; //reemplazo 15 x 18, 15 out
- arbol->der = borrar(arbol->der,masIzq->dato); //todo de vuelta pero con el 18
- }
- if ((arbol->izq == NULL) && (arbol->der == NULL))
- {
- free(arbol);
- arbol = NULL;
- }
- }
- else if (dato > arbol->dato) //continuamos la recursion buscando el dato
- {
- arbol->der = borrar(arbol->der,dato);
- }
- else if (dato < arbol->dato)
- {
- arbol->izq = borrar(arbol->izq,dato);
- }
- }
- return arbol;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement