-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.c
89 lines (68 loc) · 2.28 KB
/
main.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
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
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
#include "arbre.c"
void affichage(struct noeud* ab)
{
/*l'affichae de l'arbre exige l'existance d'une file d'attente
*On va faire le parcours par niveau
* */
struct file f;
creer_file(&f);
enfiler(ab,&f); //enfiler la racine
while(!file_vide(f))
{
if(f.tete->info->sag)
enfiler(f.tete->info->sag,&f);
if(f.tete->info->sad)
enfiler(f.tete->info->sad,&f);
printf("%d\t",f.tete->info->info);
defiler(&f);
}
}
int main()
{
struct noeud* ab = creer_arbre();
ab = construire(1, construire(2,construire(4,NULL,NULL),construire(5,NULL,NULL))
,construire(3,construire(6,NULL,NULL),NULL));
printf("\nprofondeur = %d\n",profondeur(ab));
/*
ab = construire(100,construire(50,construire(20,NULL,NULL),construire(70,NULL,NULL)
),construire(150,construire(200,NULL,NULL),
construire(350,NULL,NULL)));
*/
/*
ab = construire(0,construire(9,construire(6,NULL,NULL),construire(10,NULL,NULL))
,construire(7,construire(8,NULL,NULL),construire(5,NULL,NULL)));
printf("\naffichage trié d'arbre\n");
parcours_niveau_trie(ab);
affiche();
*/
//arbre dégenéré
/*
ab = construire(100,construire(50,NULL,construire(80,NULL,NULL)),NULL);
if(est_degeneree(ab))
printf("\nabre ab est dégeneree\n");
else
printf("\nArbre non degenere\n");
parcours_niveau_trie(ab);
affiche();
*/
/*
struct noeud* ab2= creer_arbre();
ab = construire(100,construire(50,construire(20,NULL,NULL),construire(70,NULL,NULL)
),construire(150,construire(200,NULL,NULL),
construire(350,NULL,NULL)));
ab2= construire(100,construire(50,construire(20,NULL,NULL),construire(70,NULL,NULL)
),construire(150,construire(200,NULL,NULL),
construire(15,NULL,NULL)));
printf("\n*********AFFICHAGE********\n");
affichage(ab);
printf("\n");
affichage(ab2);
if (arbre_confondues(ab,ab2))
printf("\nBoth trees of %d and %d are equal\n",ab->info,ab->info);
else
printf("\nTrees are not equal.\n");
*/
return 0;}