Beruflich Dokumente
Kultur Dokumente
Estructura de Datos
Docente
Alma Cristina Ramrez Covarrubias
13/06/2017
Cdigo del programa
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <Windows.h>
return nuevoNodo;
}
void insertar(ABB &arbol, int x)
{
if (arbol == NULL)
{
arbol = crearNodo(x);
cout << "\n\t Insertado..!" << endl << endl;
}
else if (x < arbol->nro)
insertar(arbol->izq, x);
else if (x > arbol->nro)
insertar(arbol->der, x);
}
numNodos++;
cout << arbol->nro << endl;
verArbol(arbol->izq, n + 1);
}
if (arbol == NULL)
return r;
if (dato<arbol->nro)
r = busquedaRec(arbol->izq, dato);
else
r = 1; // son iguales, lo encontre
return r;
}
if (x<arbol->nro)
elimina(arbol->izq, x);
else if (x>arbol->nro)
elimina(arbol->der, x);
else
{
ABB p = arbol;
arbol = unirABB(arbol->izq, arbol->der);
delete p;
}
}
if (arbol == NULL)
return -1;
else
{
AltIzq = alturaAB(arbol->izq);
AltDer = alturaAB(arbol->der);
if (AltIzq>AltDer)
return AltIzq + 1;
else
return AltDer + 1;
}
}
if (arbol != NULL)
{
encola(q, arbol);
if (arbol->izq != NULL)
encola(q, arbol->izq);
if (arbol->der != NULL)
encola(q, arbol->der);
}
}
}
if (arbol != NULL)
{
temp = arbol->izq;
arbol->izq = arbolEspejo(arbol->der);
arbol->der = arbolEspejo(temp);
}
return arbol;
}
int main()
{
ABB arbol = NULL;
int x;
int n, i;
char op;
switch (op)
{
case 'A':
printf("inserte numero de nodos: \n");
scanf_s("%d", &n);
for (i = 0; i < n; ++i) {
cout << " Ingrese valor : "; cin >> x;
insertar(arbol, x);
}
printf("Datos insertados presione enter para regresar al
menu""\n");
system("pause");
system("cls");
break;
case 'B':
verArbol(arbol, 0);
system("pause");
break;
case 'C':
if (arbol != NULL)
{
cout << "Recorrido en orden: ";
enOrden(arbol);
cout << " ";
system("pause");
break;
}
else
cout << "\n\t Arbol vacio..!";
system("pause");
break;
case 'D':
if (arbol != NULL)
{
cout << "Recorrido pre orden: ";
preOrden(arbol);
cout << " ";
system("pause");
break;
}
else
cout << "\n\t Arbol vacio..!";
system("pause");
break;
case 'E':
if (arbol != NULL)
{
cout << "Recorrido post orden: ";
postOrden(arbol);
cout << " ";
system("pause");
break;
}
else
cout << "\n\t Arbol vacio..!";
system("pause");
break;
case 'F':
bool band;
if (band == 1)
cout << "\n\tEncontrado...";
else
cout << "\n\tNo encontrado...";
system("pause");
break;
case 'G':
if (band == 1) {
elimina(arbol, x);
case 'H':
int h;
h = alturaAB(arbol);
cout << " La altura es : " << h << endl;
system("pause");
break;
case 'I':
cout << "\n\n El numero de nodos es : ";
cout << numNodos;
cout << "\n";
system("pause");
break;
case 'J':
if (arbol != NULL)
{
verArbol(arbol, 0);
cout << "\n";
cout << "*********************************""\n";
cout << "Recorrido en orden: ";
enOrden(arbol);
cout << "\n";
cout << "*********************************""\n";
cout << "Recorrido pre orden: ";
preOrden(arbol);
cout << "\n";
cout << "*********************************""\n";
cout << "Recorrido post orden: ";
postOrden(arbol);
cout << "\n";
cout << "*********************************""\n";
h = alturaAB(arbol);
cout << " La altura es : " << h << endl;
cout << "*********************************""\n";
cout << " El numero de nodos es : ";
cout << numNodos; "\n";
cout << "\n";
cout << "*********************************""\n";
system("pause");
}
else
cout << "El arbol esta vacio";
cout << "\n";
system("pause");
break;
case 'K':
system("cls");
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << **************************************************************""\n";
cout << "**************************************************************""\n";
cout << "*******************GRACIAS Y FELICES VACACIONES***************""\n";
cout << "**************************************************************""\n";
cout << " ******************************************************** ""\n";
cout << " ****************************************************** ""\n";
cout << " **************************************************** ""\n";
cout << " ************************************************* ""\n";
cout << " ********************************************** ""\n";
Sleep(3000);
exit(0);
}
}
Funcin (Mostar Arbol)
for (int i = 0; i<n; i++) //Aqu tenemos un ciclo for que lo que hace es por
/ //cada nodo insertado lo muestra en pantalla dando saltos
/ //y mostrando el rbol de manera inclinada
cout << " ";
numNodos++;
cout << arbol->nro << endl;
verArbol(arbol->izq, n + 1);
}
Capturas de Pantalla
Pantalla Principal
Insertar Elemento
Mostrar Arbol
Recorrido en orden
Eliminar elemento
Altura del arbol
Numero de nodos
Mostrar todo
Salir