domingo, 24 de mayo de 2015

CODIGO EN C++ PARA REALIZAR UN ARBOL BINARIO Y SUS RECORRIDOS


              CENTRO UNIVERSITARIO UAEM 
              ATLACOMULCO
            LICENCIATURA EN INGENIERÍA EN COMPUTACIÓN

              NOMBRE DEL DOCENTE:
         INGENIERO. HÉCTOR CABALLERO HERNÁNDEZ

              NOMBRE MATERIA:
AUTÓMATAS Y LENGUAJES FORMALES

              NOMBRE DE LA ALUMNA:
HEIVILINA PÉREZ ARIAS

              GRUPO:
ICO-19

              TURNO:
MATÚTINO

               TRABAJO A ENTREGAR:
                CODIGO EN C++ PARA REALIZAR UN ARBOL BINARIO Y SUS RECORRIDOS

              FECHA DE ENTREGA:
MAYO DE 2015.   



CODIGO EN C++ PARA REALIZAR UN ARBOL BINARIO Y SUS RECORRIDOS
#include <iostream>
#include <string>
#include <ctype.h>
#include <stdlib.h>
#include <math.h>
#include <cstdlib>

using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//PROGRAMA QUE DEBERA AGRAGAR NUMEROS EN UNA ESTRUCTURA DE DATOS DE UN ARBOL BINARIO
struct nodo{
     int numero;
     struct nodo *izquierdo, *derecho;
};
typedef struct nodo *ARB;

ARB empezarNodo(int z){
     ARB nuevonodo = new(struct nodo);
     nuevonodo->numero = z;
     nuevonodo->izquierdo = NULL;
     nuevonodo->derecho = NULL;
     return nuevonodo;
}
void insertar(ARB &arbol, int z){
     if(arbol==NULL){
           arbol=empezarNodo(z);
     }
     else if(z<arbol->numero)
          insertar(arbol->izquierdo, z);
     else if(z>arbol->numero)
          insertar(arbol->derecho, z);
}
void checarArbol(ARB arbol, int n){
     if(arbol==NULL)
          return;
     checarArbol(arbol->derecho, n+1);
     for(int i=0; i<n; i++)
         cout<<"--->";
     cout<<arbol->numero<<endl;
     checarArbol(arbol->izquierdo, n+1);
}
void Pre_Orden(ARB arbol){
     if(arbol!=NULL){
          cout<<arbol->numero<<" ";
          Pre_Orden(arbol->izquierdo);
          Pre_Orden(arbol->derecho);
     }
}
void In_Orden(ARB arbol){
     if(arbol!=NULL){
          In_Orden(arbol->izquierdo);
          cout<<arbol->numero<<" ";
          In_Orden(arbol->derecho);
     }
}
void Post_Orden(ARB arbol){
     if(arbol!=NULL){
          Post_Orden(arbol->izquierdo);
          Post_Orden(arbol->derecho);
          cout<<arbol->numero<<" ";
     }
}
int main(int argc, char** argv){
                 system("Color 3");
                 cout<<"\nCENTRO UNIVERSITARIO UAEM ATLACOMULCO"<<endl;
                 cout<<"\nAUTOMATAS Y LENGUAJES FORMALES"<<endl;
                 cout<<"\nINTEGRANTES:"<<endl;
                 cout<<"\n   ->HEIVILINA PEREZ ARIAS"<<endl;
                 cout<<"\nELABORACION DE UN ARBOL BINARIO Y SUS RECORRIDOS "<<endl;
                 cout<<" "<<endl;
                int i;
    ARB arbol = NULL;  
    int n; 
    int z;
    cout<<"Introdruzca la cantidad de nodos del arbol:  ";
    cin>>n;
    cout<<endl;
    for(int i=0;i<n; i++){
        cout<<"Introducir nodo numero "<<i+1<<": ";
        cin>>z;
        insertar(arbol, z);
    }
   
    cout<<"\n Representacion de  arbol"<<endl;
    checarArbol( arbol, 0);
    cout<<"\n\n Recorrido que realiza el arbol"<<endl;
    cout<< "..."<<endl;
                cout<<"\n In-orden   : "; In_Orden(arbol);
    cout<<"\n Pre-Orden  : "; Pre_Orden(arbol);
    cout<<"\n Post-Orden : "; Post_Orden(arbol);
    return 0;

}

No hay comentarios:

Publicar un comentario