arboles binarios

Páginas: 2 (383 palabras) Publicado: 11 de noviembre de 2013
#include
#include
using namespace std;
/*--------- Estructura del arbol -------*/
typedef struct nodo{
int nro;
struct nodo *izq, *der;
}*ABB;
int numNodos = 0; // nummero denodos del arbol ABB
int numK = 0, k; // nodos menores que un numero k ingresado
/* ---------- Estructura de la cola ---------*/
struct nodoCola{
ABB ptr;
struct nodoCola *sgte;
};struct cola{
struct nodoCola *delante;
struct nodoCola *atras;
};
void inicializaCola(struct cola &q)
{
q.delante = NULL;
q.atras = NULL;
}
void encola(struct cola &q, ABBn)
{
struct nodoCola *p;
p = new(struct nodoCola);
p->ptr = n;
p->sgte = NULL;
if(q.delante==NULL)
q.delante = p;
else
(q.atras)->sgte = p;q.atras = p;
}
ABB desencola(struct cola &q)
{
struct nodoCola *p;
p = q.delante;
ABB n = p->ptr;
q.delante = (q.delante)->sgte;
delete(p);
return n;
}

ABBcrearNodo(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);
coutizq);
cout nro der);
}
}

void postOrden(ABB arbol)
{
if(arbol!=NULL)
{enOrden(arbol->izq);
enOrden(arbol->der);
cout nro der, n+1);

for(int i=0; ider, dato);

else
r = 1; // son iguales, lo encontre

return r;}

ABB unirABB(ABB izq, ABB der)
{
if(izq==NULL) return der;
if(der==NULL) return izq;

ABB centro = unirABB(izq->der, der->izq);
izq->der = centro;
der->izq = izq;return der;
}

void elimina(ABB &arbol, int x)
{
if(arbol==NULL) return;

if(xnro)
elimina(arbol->izq, x);
else if(x>arbol->nro)
elimina(arbol->der, x);...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Árboles Binarios
  • Arboles Binarios
  • Arboles binarios
  • Arboles Binarios
  • Arboles Binarios
  • Arboles binarios
  • Arboles binarios
  • Arboles Binarios

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS