-
Notifications
You must be signed in to change notification settings - Fork 0
/
aula18-arvore.c
59 lines (47 loc) · 1013 Bytes
/
aula18-arvore.c
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
59
// Construindo Árvore Binária em C
#include <stdlib.h>
#include <stdio.h>
// Definir a estrutura da arvore
typedef struct cno
{
char letra;
struct cno *pesq;
struct cno *pdir;
} NO;
void const_arvore(NO **p)
{
NO *no1, *no2, *no3, *no4, *no5;
no1 = malloc(sizeof(NO));
no2 = malloc(sizeof(NO));
no3 = malloc(sizeof(NO));
no4 = malloc(sizeof(NO));
no5 = malloc(sizeof(NO));
no1->letra = '*';
no1->pesq = no2;
no1->pdir = no3;
no2->letra = '+';
no2->pesq = no4;
no2->pdir = no5;
no3->letra = 'C';
no3->pesq = NULL;
no3->pdir = NULL;
no4->letra = 'A';
no4->pesq = NULL;
no4->pdir = NULL;
no5->letra = 'B';
no5->pesq = NULL;
no5->pdir = NULL;
*p = no1;
}
int main()
{
NO *arvore = NULL;
const_arvore(&arvore);
// percorrer a árvore
printf("%c\n", arvore->letra);
printf("%c\n", arvore->pesq->letra);
printf("%c\n", arvore->pdir->letra);
printf("%c\n", arvore->pesq->pesq->letra);
printf("%c\n", arvore->pesq->pdir->letra);
return 0;
}