Arvore binarias
//Aluna: Kênia Guimarães 2012.2
#include
#include
#include
//Estruturas typedef struct elemento
{
int info; int tipo; struct elemento *esq, *dir; struct elemento *pai;
}telemento;
char opcao; typedef telemento* arv;
//typedef struct arvore arv;
struct elemento* raiz; //Ponteiro para o “topo” da Árvore struct elemento* arvore; //Ponteiro para a Árvore
//Constantes e Variaveis const int vermelho = 0; const int preto = 1;
char valor[5];
//Procedures e Funções void menu(arv *);
//void exibe_emordem(arv t); void cria_arvore(arv *t); int arvore_vazia(arv t); void inserir(arv *t, int dado); arv busca_elemento(arv t, int dado);
void exibe_emordem(arv t){ if (t == NULL) return ; if (t->esq != NULL) exibe_emordem(t->esq); printf("(%d)", t->info); if (t->dir != NULL) exibe_emordem(t->dir);
}
int main(){ //principal char escolha; raiz = NULL; //Inicia a Árvore Vazia! int valor; arv t; cria_arvore(&t); if(t==NULL) puts("ARVORE VAZIA"); for ( ; ; ) { menu(&t); escolha=opcao; switch ( escolha ) { case 'i' :{puts("Inserir elemento: "); scanf("%d",&valor); inserir(&t,valor);} break;
case 'l' : exibe_emordem(t); system("pause"); break;
case 'e' : exit ( 0 ); break; }//end switch }//end loop system ( "Pause" ); return 0;
}
void menu(arv *t){ system("cls"); printf("Digite opcao principal: "); scanf("%c",&opcao); //return opcao;
}
void cria_arvore(arv *t){ *t = NULL;
}