void insertarNodoArbol(Arbol *a, int dato){
Nodo *padre = NULL;
Nodo *actual = *a;
Nodo *nuevo = NULL;
//Buscar el dato en el arbol
while (! arbolVacio(actual) && dato != actual->dato){
padre = actual;
if (dato < actual->dato){
actual = actual->izquierda;
}else if(dato > actual->dato){
actual = actual->derecha;
}
}
//si no encontramos el dato, lo insertamos
if (arbolVacio(actual)){
//Creamos el nodo
nuevo = (Arbol)malloc(sizeof(Nodo));
nuevo->dato = dato;
nuevo->izquierda = NULL;
nuevo->derecha = NULL;
//Si el padre es NULL quiere decir que el arbol esta vacio
//el nodo sera la raiz
if (arbolVacio(padre)) {
*a = nuevo;
}else if(dato < padre->dato){
//Si el dato es menor que el dato que contiene el padre
//ponemos el dato en la rama izquierda
padre->izquierda = nuevo;
}else if (dato > padre->dato){
//Si el dato es mayor que el dato que contiene el padre
//ponemos el dato en la rama derecha
padre->derecha = nuevo;
}
}
}
C - Añadir elementos en una estructura árbol
Papa primerizo
añadir elementos estructura arbol,
añadir elementos ordenados arbol,
c
lunes, 18 de abril de 2011
El siguiente código muestra como añadir elementos, de forma ordenada, en una estructura árbol.
Suscribirse a:
Enviar comentarios (Atom)








0 comentarios:
Publicar un comentario