Está en la página 1de 5

RECORRIDO DE ARBOL EN C++

ABB crearNodo(int x)

#include <iostream> ABB nuevoNodo = new(struct nodo);

#include <conio.h> nuevoNodo->nro = x;

#include <windows.h> nuevoNodo->izq = NULL;

#include <stdlib.h> nuevoNodo->der = NULL;

struct nodo{ return nuevoNodo;

int nro; }

struct nodo *izq, *der; void insertar(ABB &arbol, int x)

}; {

if(arbol==NULL)

typedef struct nodo *ABB; {

/* es un puntero de tipo nodo que hemos llamado ABB, que ulitizaremos arbol = crearNodo(x);

para mayor facilidad de creacion de variables, "EL RECORRIDO SE MUESTRA }


LA RAIZ A LA IZQUIERDA Y
else if(x < arbol->nro)
POSTERIORMENTE LOS MAYORES ARRIBA Y LOS MENORES DEBAJO" */
insertar(arbol->izq, x);

else if(x > arbol->nro)


insertar(arbol->der, x); }

} }

void preOrden(ABB arbol) void postOrden(ABB arbol)

{ {

if(arbol!=NULL) if(arbol!=NULL)

{ {

cout << arbol->nro <<" "; postOrden(arbol->izq);

preOrden(arbol->izq); postOrden(arbol->der);

preOrden(arbol->der); cout << arbol->nro << " ";

} }

} }

void enOrden(ABB arbol) void verArbol(ABB arbol, int n)

{ {

if(arbol!=NULL) if(arbol==NULL)

{ return;

enOrden(arbol->izq); verArbol(arbol->der, n+1);

cout << arbol->nro << " ";

enOrden(arbol->der); for(int i=0; i<n; i++)


cout<<" "; for(int i=0; i<n; i++)

cout<< arbol->nro <<endl; cout << " Numero del nodo " << (i+1) << ": ";

cin >> x;

verArbol(arbol->izq, n+1); insertar( arbol, x);

} }

int main() cout << "\n Mostrando ABB \n\n";

{ verArbol( arbol, 0);

ABB arbol = NULL; // creado Arbol

cout << "\n Recorridos del ABB";

int n; // numero de nodos del arbol

int x; // elemento a insertar en cada nodo cout << "\n\n En orden (IRD) : "; enOrden(arbol);

cout << "\n\n Pre Orden (RID) : "; preOrden(arbol);

cout << "\n\t\t .. PROYECTO POR: OSIRYS MAIDETH MARCIAGA.. \n\n"; cout << "\n\n Post Orden (IDR) : "; postOrden(arbol);

cout << "\n\t\t . ARBOL BINARIO DE BUSQUEDA. \n\n"; cout << endl << endl;

cout << " Numero de nodos del arbol: "; system("pause");

cin >> n; return 0;

cout << endl; }

También podría gustarte