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); }