sábado, 23 de mayo de 2015

Arbol Binario

Este programa se trata de los arboles binarios el cual es conocido por varias personas y saben de que trata en el cual hicimos por equipo de dos personas y que el programa hiciera sus tres recorrido. 


Código implementado para el árbol binario en c++

#include <iostream>
#include <cstdlib>
using namespace std;

struct nodo{ // creacion del nodo 
     int nodo;
     struct nodo *izq, *der;
};

typedef struct nodo *ABB;

     ABB crearNodo(int x){
     ABB nuevoNodo = new(struct nodo);
     nuevoNodo->nodo = 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->nodo){
      insertar(arbol->izq, x);
  }
     else if(x > arbol->nodo){
      insertar(arbol->der, x);
  }
}

void preOrden(ABB arbol){
     if(arbol!=NULL){
          cout<<arbol->nodo<<" ";
          preOrden(arbol->izq);
          preOrden(arbol->der);
     }
}

void enOrden(ABB arbol){
     if(arbol!=NULL){
          enOrden(arbol->izq);
          cout<<arbol->nodo<<" ";
          enOrden(arbol->der);
     }
}

void postOrden(ABB arbol){
     if(arbol!=NULL){
          postOrden(arbol->izq);
          postOrden(arbol->der);
          cout<<arbol->nodo<< " ";
     }
}

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->nodo<<endl;
     verArbol(arbol->izq, n+1);
}



int main(){

    ABB arbol = NULL;  
    int n;  // numero de nodos
    int x; // elemento a insertar en cada nodo
    cout<<"\t\t\t\tARBOL BINARIO\n"<<endl;
    cout<<"\t\t\t\t\t\tRealizado por:"<<endl;
    cout<<"\t\t\t\t\t\tCarlos Lopez Ibarra"<<endl;
    cout<<"\t\t\t\t\t\tAlberto Alexis ALva Martinez"<<endl;
    cout<<"\t\t\t\t\t\tICO-19\n"<<endl;
    cout<<"Dame la cantidad de numeros a ingresar: ";
    cin>>n;
    cout<<endl;
    for(int i=0; i<n; i++){
        cout<<"ingresa los numeros para la creacion del arbol "<<i+1<<":";
        cin>>x;
        insertar(arbol,x);
    }

    cout<<"\n Mostrando ABB\n\n";
    verArbol(arbol,0);
    cout<<"\n Recorridos del arbol binario por cada uno de sus ordenes";
    cout<<"\n\n EnOrden: "; enOrden(arbol);
    cout<<"\n\n PreOrden: "; preOrden(arbol);
    cout<<"\n\n PostOrden: "; postOrden(arbol);
    cout<<endl<<endl;
    system("pause");
    return 0;


}


PANTALLA DE SALIDA






0 comentarios :

Publicar un comentario