Inicio > C y C++ > mojadita > Extraer de un árbol binario de búsqueda

Extraer de un árbol binario de búsqueda

Experto:
Usuario:
Fecha: 23/11/2009
Valoración: (2,00 sobre 5) Categoría: C y C++
23/11/2009
kosiva, usuario preguntando en C y C++
Usuario
Hola! Por favor, necesito un función en C que extraiga un elemento de un árbol binario de búsqueda. Please, es urgente.
Gracias!!
23/11/2009
kosiva, experto respondiendo en C y C++
Experto
supongamos que el arbol se define como sigue:

struct nodo {
struct nodo *menor;
struct nodo *mayor;
int clave;
};

una rutina de búsqueda sería:

struct nodo *busca(struct nodo *arbol, int clave)
{
while (arbol) {
if (clave == arbol->clave) return arbol;
if (clave > arbol->clave) {
arbol = arbol->mayor;
} else { /* menor */
arbol = arbol->menor;
} /* while */
return NULL; /* no encontrado */
}

Espero haberte sido de ayuda (ojo, el código no está probado, lo he escrito sobre la marcha, deberás probarlo tú mismo)
23/11/2009
kosiva, usuario preguntando en C y C++
Usuario
Gracias, pero era el Extraer lo que buscaba.
De todas formas ya lo he hecho. Muchas gracias en
cualquier caso.
Más opciones
Enlaces patrocinados