Icono del sitio Tecpro Digital

Programacion c++ – pre orden de un árbol

Ejemplos de árboles binarios en c++

  Pre orden de un árbol (ABB)

  Arbol binario (ABB)

Mediante programación en C++, Desarrollar un programa que permita mostrar todos los elementos de un árbol, así como imprimir el pre orden de los elementos ingresados en el árbol ABB.

#include <iostream.h>
#include <conio.h>
struct nodo
    {
     int valor;
     struct nodo* izq;
     struct nodo* der;
    };
typedef struct nodo *ABB;
void inserta(ABB& ,int);
void preorden(ABB);

void verarbol(ABB,int);


void main()
{
ABB arbol=NULL;
ABB subarbol=NULL;
int n,x,opc,a;
  do
    {
     cout<<"menu principal"<<endl;
     cout<<"1.ingresar elementos"<<endl;
     cout<<"2.pre orden"<<endl;

     cout<<"3.visualizar arbol"<<endl;

     cout<<"0.salir"<<endl;
     cout<<"=========================="<<endl;
     cout<<"ingrese una opcion: ";cin>>opc;
   switch(opc)
  {
   case 1:{
    cout<<"ingrese cantidad  de elem. al arbol: ";cin>>n;
    for(int i=0;i<n;i++)
       {
        cout<<"ingrese numero"<<i<<" : ";cin>>x;
        inserta(arbol,x);
       }
    getch();
    break;
   }//fin case1
   case 2:{
   if(arbol!=NULL)
     {
      cout<<endl<<"pre orden : ";
      preorden(arbol);
     }
   else
   {
    cout<<"el arbol no tiene elementos";
   }
   getch();
   break;
   }//fin case2


   case 3:{
    cout<<"  visualizacion del arbol "<<endl<<endl;
    if(arbol!=NULL)
      {
       verarbol(arbol,0);
      }
    else
      {
       cout<<"el arbol no tiene elementos";
      }
    getch();
    break;
   }//fin case5

  }//fin switch
  clrscr();
    }while(opc!= 0);
}//fin main.
/*************************** funciones **************************/void inserta(ABB &arbol,int x)
{
 if(arbol==NULL)
   {
    arbol=new(struct nodo);
    arbol->valor=x;
    arbol->izq=NULL;
    arbol->der=NULL;
   }
 else
  {
   if(x<arbol->valor) inserta(arbol->izq,x);
   else
     if(x>arbol->valor) inserta(arbol->der,x);
  }
}
void preorden(ABB arbol)
{
 if(arbol!=NULL)
   {
    cout<<arbol->valor<<" ";
    preorden(arbol->izq);
    preorden(arbol->der);
   }
}

void verarbol(ABB arbol, int nro)
{
 int i;
 if(arbol==NULL)return;
 verarbol(arbol->der,nro+1);
 for(i=0;i<nro;i++)
    cout<<" ";
    cout<<arbol->valor<<endl;
 verarbol(arbol->izq,nro+1);
}

Como se puede ver en las imágenes, el programa de árbol (ABB) en C++, permite realizar lo siguiente:

  La primera opción del menú del programa, permite ingresar la cantidad de edades (n) que tendrá el árbol ABB, y al mismo tiempo ingresar cada una de las edades (x).

  La segunda opción del menú del programa, permite ver los elementos del árbol en orden.

  La tercera opción del menú de la aplicación, permite visualizar todos los elementos del árbol.

  Y finalmente la opción salir, que permite salir de la ejecución del programa .

Espero que el ejercicio de árbol ABB en C++, te haya servido de mucha ayuda, si te gustó este post, no dudes en compartirlo!!

  Continuando con Arbol binario (ABB), les comparto el siguiente post: Ver menor de menores, podar, talar, elemento de izquierda y derecha

Salir de la versión móvil