Codigos C++
Enviado por mikelylopez2014 • 30 de Mayo de 2014 • 616 Palabras (3 Páginas) • 270 Visitas
Implementacion en C++
/*
Name: Arboles Binaros de busqueda
Copyright: casicodigo.blogspot.com
Author: Jose Martin Cruz Otiniano
Date: 27/10/12 12:27
Description: Inserta elemento, muestra el arbol, muestra los recorridos(enOrden, preOrden, postOrden)
*/
#include <iostream>
#include <stdlib.h>
using namespace std;
struct nodo{
int nro;
struct nodo *izq, *der;
};
typedef struct nodo *ABB;
/* es un puntero de tipo nodo que hemos llamado ABB, que ulitizaremos
para mayor facilidad de creacion de variables */
ABB crearNodo(int x)
{
ABB nuevoNodo = new(struct nodo);
nuevoNodo->nro = x;
nuevoNodo->izq = NULL;
nuevoNodo->der = NULL;
return nuevoNodo;
}
void insertar(ABB &arbol, int x)
{
if(arbol==NULL)
{
arbol = crearNodo(x);
}
else if(x < arbol->nro)
insertar(arbol->izq, x);
else if(x > arbol->nro)
insertar(arbol->der, x);
}
void preOrden(ABB arbol)
{
if(arbol!=NULL)
{
cout << arbol->nro <<" ";
preOrden(arbol->izq);
preOrden(arbol->der);
}
}
void enOrden(ABB arbol)
{
if(arbol!=NULL)
{
enOrden(arbol->izq);
cout << arbol->nro << " ";
enOrden(arbol->der);
}
}
void postOrden(ABB arbol)
{
if(arbol!=NULL)
{
postOrden(arbol->izq);
postOrden(arbol->der);
cout << arbol->nro << " ";
}
}
void verArbol(ABB arbol, int n)
{
if(arbol==NULL)
return;
verArbol(arbol->der, n+1);
for(int i=0; i<n; i++)
cout<<" ";
cout<< arbol->nro <<endl;
verArbol(arbol->izq, n+1);
}
int main()
{
ABB arbol = NULL; // creado Arbol
int n; // numero de nodos del arbol
int x; // elemento a insertar en cada nodo
cout << "\n\t\t ..[ ARBOL BINARIO DE BUSQUEDA ].. \n\n";
cout << " Numero de nodos del arbol: ";
cin >> n;
...