hojas de un árbol (ABB)
Arbol binario (ABB)
Mediante programación en C++, hacer un programa que permita mostrar las hojas del árbol, así como imprimir los elementos ingresados por teclado. El programa debe tener un menú de 4 opciones: Ingresar elementos, mostrar hojas que tiene el árbol (ABB), visualizar elementos del árbol (ABB) y salir de la aplicación.
#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 postorden(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.mostrar hojas"<<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<<"las hojas son : ";
postorden(arbol);
}
else
{
cout<<"el arbol no tiene elementos";
}
getch();
break;
}//fin case3
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 postorden(ABB arbol)
{
if(arbol!=NULL)
{
postorden(arbol->izq);
postorden(arbol->der);
if(arbol->der==NULL && arbol->izq==NULL)
{cout<<arbol->valor<<" ";}
}
}
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 sobre el ejercicio de árbol (ABB), el ejercicio permite realizar lo siguiente:
Espero te haya servido de mucha ayuda este ejercicio, 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
Dale un toque especial a tus cuadernos y apuntes de psicología. Las carátulas de psicología…
Carátula de ciencias naturales bonitas para imprimir
Portadas de contabilidad de forma gratuita y listas para imprimir. En este tutorial, te enseñaremos…
Carátulas de educación física para descargar gratis en PDF, estas portadas las puedes imprimir en…