ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Arbol Binario


Enviado por   •  21 de Noviembre de 2013  •  646 Palabras (3 Páginas)  •  335 Visitas

Página 1 de 3

#include <c//PROGRAMA QUE CAPTURA UNA CADENA DE CARACTERES DE MAXIMO 200 ELEMENTOS Y

//CREA UN ARBOL DE BUSQUEDA CON LOS CARACTERES DE LA CADENA Y REALIZA RECORRIDOS

// EN PREORDEN,ENTREORDEN Y POSTORDEN.

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<string.h>

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

struct nodoarbol{ //ESTRUCTURA DEL ARBOL

struct nodoarbol *izqnodo;

int info;

struct nodoarbol *dernodo;

};

typedef struct nodoarbol NODO; //DEFINICION DE TIPO NODO

typedef NODO *ARBOL; //DECLARACION DE VARIABLE PUNTERO A NODO

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

void insertanodonuevo(ARBOL *,int); //DECLARACION DE FUNCIONES

void inorden(ARBOL);

void preorden(ARBOL);

void postorden(ARBOL);

void treefree(ARBOL);

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

/*-----------------------<FUNCION PRINCIPAL>--------------------------------*/

main(){

int i; //CONTADOR

char newnod,chain[200],elementos; //DECLARACION DE CADENA,BANDERA Y VARIABLE QUE CONTIENE EL NUEVO VALOR A INSERTAR EN EL ARBOL

clrscr();

ARBOL raiz=NULL; //DECLARACION DE VARIABLE DE TIPO ARBOL

printf("\n\n\tIntroduzca una cadena de caracteres (max. 200 elementos):\n");

gets(chain);

elementos=strlen(chain); //CHECA EL TAMA¥O DE LA CADENA Y ESTABLECE EL NUMERO DE NODOS DEL ARBOL

for(i=1;i<=elementos;i++) {

newnod=chain[i-1];

insertanodonuevo(&raiz,newnod);

}

printf("\n\n preorden ¯¯\t");

preorden(raiz); //LLAMADO A FUNCION DE RECORRIDO EN PREORDEN

printf("\n\n inorden ¯¯\t");

inorden(raiz); //LLAMADO A FUNCION DE RECORRIDO EN INORDEN

printf("\n\n postorden ¯¯\t");

postorden(raiz); //LLAMADO A FUNCION DE RECORRIDO EN POSTORDEN

getch();

treefree(raiz); //LIBERACION DE MEMORIA DEL ARBOL.

raiz=NULL; //ASIGNACION DE UN VALOR NULO A LA RAIZ.

return 0;

}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

/*-CREA UN NUEVO NODO Y COLOCA LOS VALORES DEL NUEVO ELEMENTO EN LA POSICION CORRESPONDIENTE */

void insertanodonuevo(ARBOL *rarbol,int nuevo){

if(*rarbol==NULL){ //CREACION DE UN NUEVO NODO

*rarbol=(NODO *)malloc(sizeof(NODO));

if(*rarbol!=NULL){

//ASIGNACION DE VALORES NUEVOS EN EL NODO NUEVO

(*rarbol)->info=nuevo;

(*rarbol)->izqnodo =NULL;

(*rarbol)->dernodo=NULL;

...

Descargar como (para miembros actualizados)  txt (5 Kb)  
Leer 2 páginas más »
Disponible sólo en Clubensayos.com