Está en la página 1de 2

//implementacion de un arbol , con datos numericos #include<iostream.h> #include<conio.

h> void adicion struct nodo{ int dato; int pal; struct nodo *izq, *der; }; typedef struct nodo *ARBOL;//un tipo de dato int sw;//indicador de busqueda void adicion(ARBOL *arb,int pal){// (struct nodo **arb) if(*arb==NULL){ *arb=new nodo; (*arb)->dato=pal; (*arb)->izq=NULL; (*arb)->der=NULL; }else{ if(pal<(*arb)->dato) adicion(&((*arb)->izq),pal); else if(pal>(*arb)->dato) adicion(&((*arb)->der),pal); else cout<<"\n palabra espanol \n"; } }//fin de adicion//listado simetrico inorden izq-raiz-der void espanol(ARBOL arb){ if(arb!=NULL){ espanol(arb->izq); cout<<arb->dato<<"\t"; espanol(arb->der); } } void preorden(ARBOL arb){//raiz -izq-der if(arb!=NULL) cout<<arb->dato<<"\t"; preorden(arb->izq); preorden(arb->der); } void ingles(ARBOL arb){//izq-der-raiz if(arb!=NULL){ ingles(arb->izq); ingles(arb->der); cout<<arb->dato<<"\t"; } } void busca(ARBOL arb, int pal){ if(arb!=NULL){ if(arb->dato==pal) sw=1; busca(arb->izq,pal); busca(arb->der,pal); } } main(){ ARBOL raiz=NULL;

adicion(&raiz,amarilloyellow); adicion(&raiz,verdegreen); adicion(&raiz,blancowhite); adicion(&raiz,negroblack);adicion(&raiz,marronbrown); cout<<"\n Lectura espanol:"; espanol(raiz); cout<<"\n Lectura ingles:"; ingles(raiz); sw=0; int x; cout<<"\n dato a buscar:"; cin>>x; busca(raiz,x); if(sw==0) cout<<"\n No existe\n"; else cout<<"\n si existe\n"; getch(); }