Buscar

Busca em Arvore Binaria em Pre_Ordem

Prévia do material em texto

#include <stdio.h>
#include <stdlib.h>
struct noArvore {
 int valor;
 struct noArvore* esquerda;
 struct noArvore* direita;
};
typedef struct noArvore no;
void imprimePreOrdem(no* n){
 if( n != NULL){
 printf("%i ", n->valor);
 imprimePreOrdem(n->esquerda);
 imprimePreOrdem(n->direita);
 }
}
void imprimeEmOrdem(no* n){
 if( n != NULL){
 imprimeEmOrdem(n->esquerda);
 printf("%i ", n->valor);
 imprimeEmOrdem(n->direita);
 }
}
void imprimePosOrdem(no* n){
 if( n != NULL){
 imprimePosOrdem(n->esquerda);
 imprimePosOrdem(n->direita);
 printf("%i ", n->valor);
 }
}
void main(){
 no* n = (no*) malloc(sizeof(no));
no* n1 = (no*) malloc(sizeof(no));
no* n2 = (no*) malloc(sizeof(no));
no* n3 = (no*) malloc(sizeof(no));
no* n4 = (no*) malloc(sizeof(no));
n->valor = 10;
n1->valor = 20;
n1->esquerda = NULL;
n1->direita = NULL;
n2->valor = 30;
n2->direita = NULL;
n3->valor = 40;
n3->esquerda = NULL;
n3->direita = NULL;
n4->valor = 50;
n4->esquerda = NULL;
n4->direita = NULL;
n->esquerda = n1;
n->direita = n2;
n2->esquerda = n3;
n3->esquerda = n4;
 printf("\nPre-Ordem:");
 imprimePreOrdem(n);
 printf("\nEm-Ordem:");
 imprimeEmOrdem(n);
 printf("\nPos-Ordem:");
 imprimePosOrdem(n);
}

Mais conteúdos dessa disciplina