Portfólio introdução aos compiladores
Introdução aos Compiladores
Trabalho apresentado ao Curso de Sistemas de Informação da Faculdade ENIAC para a disciplina de Analise de Sistemas II.
Prof. Cao Ji Kan
....................................................................................................................
Guarulhos
2013 Respostas
....................................................................................................................
#include
#include
struct treeNo { char info; struct treeNo *left; struct treeNo *right;
};
struct treeNo *root; /* primeiro no da arvore */ struct treeNo *geratree(int n); void In_ordem(struct treeNo *root); void Pre_ordem(struct treeNo *root); void Pos_ordem(struct treeNo *root); main()
{
root = NULL; /* inicializa a ra¡z */ int n; printf("Digite o numeros de nos para uma arvore binaria!\n"); scanf("%d",&n); root = geratree(n); printf("\n\nImpressao da arvore binaria:\n"); printf("\n\nIn ordem:\n"); In_ordem(root); printf("\n\nPre ordem:\n"); Pre_ordem(root); printf("\n\nPos ordem:\n"); Pos_ordem(root); printf("\n\n"); system("pause");
}
struct treeNo *geratree(int n)
{
struct treeNo *newno; int ne, nd; char x; if (n == 0) return NULL; else { ne = n/2; nd = n-1-ne; printf("Digite uma letra: "); getchar(); // pegar "enter". sem este nao funcina para C scanf("%c",&x); newno = (struct treeNo *) malloc(sizeof(struct treeNo)); if(!newno) { printf("sem memoria\n"); exit(0); } newno->info = x; newno->left = geratree(ne); newno->right = geratree(nd); return newno; }
}
void In_ordem(struct treeNo *root) { if(root != NULL) { In_ordem(root->left); printf("\n%c", root->info);