Estruturas de Dados
Page 1 of 8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Tue 18 Mar 2014 02:36:57 PM BRT
/*Trabalho 4 de Estrutura de Dados - Arvore binaria de busca*/
/*ELIAS SOARES & RAFAEL SANCHO*/
#include
#include
/*Estrutura da lista encadeada*/ typedef struct arvore{ int info; struct arvore *esq; struct arvore *dir;
}Arvore;
/*--------------------------------------------------------------------------*/
/*Lista de assinaturas das funcoes*/ int Menu(void);
Arvore *Ler(FILE *saida); void Imprimir_pos_ordem(Arvore *a); void Imprimir_pre_ordem(Arvore *a); void Imprimir_em_ordem(Arvore *a); int Menu2(void); int Altura(Arvore *a);
Arvore *Libera_arvore(Arvore *a); void ImprimirNivel(Arvore *a, int nivel, int cont); void ImprimirLargura(Arvore *a, int altura); int VerificaNo(Arvore *a, int x);
Arvore *Inserir(Arvore *a, int x);
Arvore *Remover(Arvore *a, int x); void ImprimeMaior(Arvore *a, int x); void ImprimeXY(Arvore *a, int x, int y);
/*--------------------------------------------------------------------------*/
/*Funcao principal do programa*/ int main(void){ int result=0, v, op=0, x=0, y=0, cont=0, nivel=0, no=0;
Arvore *a=NULL;
FILE *saida; do{ system("clear"); result = Menu(); switch(result){ case 1: system("clear"); saida = fopen("trab4.txt","rt"); if(!saida){ printf("Erro na abertura do arquivo\n"); exit(1); } a = Ler(saida); system("clear"); printf("Leitura realizada com sucesso!\n"); system("sleep 1"); fclose(saida); break; case 2: do{ - 1 -
/home/elias/Desktop/1.c
Page 2 of 8
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113