Arvore
/********************************************************** O programa cria uma estrutura de arvore, com inserção, contagem de nós, impressão em ordem, pré-ordem e pós -ordem e excluisão de nós ************************************************************/ /********************************************************** UNITINS - Universidade Estadual do Tocantins Curso: Sistemas de Informação Terceiro período Disciplina: Algoritmos e estruturas de dados Orientador: Professor Napoleão
Página 1 de 4
********************************************************** @author: Célia da silva Morais @Data: 16/03/2012 ***********************************************************/ #include #include typedef struct arvore{ int dado; struct arvore *esquerda; struct arvore *direita; }Arvore; void CriaNodo(int valor, Arvore ** raiz); void CriaArvore(Arvore *folha, Arvore *raiz); void PreOrdem(Arvore *raiz); void Ordem(Arvore *raiz); void PosOrdem(Arvore *raiz); int Nos(Arvore *raiz); Arvore* menor(Arvore *men); void Remover(Arvore **raiz, int remove); void Menu(); /******************************************************* Função principal com opção de menu *********************************************************/ main() { int resposta, valor, remove; Arvore *raiz = NULL; /************************************************************ Laço infinito com saída forçada na opção de digitar 0; *************************************************************/ for(;;) { Menu(); scanf("%i",&resposta); switch(resposta) { case 1: //Iniciando a inserção de valores printf("Digite um valor\n"); scanf("%i",&valor); //chamada da função de criar arvore CriaNodo(valor, &raiz); break; case 2: //opção de visualizar a arvore e a contagem de nós if(raiz == NULL) { printf("Arvore vazia!\n\tQuantidade de nós = %i\n", Nos(raiz)); break; } else
Arquivo: /home/celia/Documentos/Semestre3/celia/arvore.c
{ printf("\tMostra Arvore em pré ordem\n");