comment on peut savoir le premier élément et le dernier élément d'une liste chainé
comment on peut savoir le premier élément et le dernier élément d'une liste chainé
salut
comment te représentes-tu une liste chainée ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 void add(Digi_struct **L, char NAME ,char TYPE,int ID){ Digi_struct *tmp = *L; Digi_struct *new = (Digi_struct*)malloc(sizeof(Digi_struct)); new->NAME = NAME; new->TYPE = TYPE; new->ID = ID; if(empty(*L)){ *L = new; (*L)->prev = NULL; } else{ tmp = *L; while(tmp->next != NULL){ tmp = tmp->next; } end_digi = new ; new->prev = tmp ; tmp->next = new; new->next = start_digi; } } void InitListe(Digi_struct **L){ if(!empty(*L)){ InitListe(&((*L)->next)); *L = NULL; start_digi= *L ; (*L)->prev=end_digi; } }
Quelques questions et remarques :
end_digi et start_digi sont des globales ? Les globales sont à supprimer!
Ta liste est sous la forme d'un anneau ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part new->next = start_digi;
*L est NULL (*L)->prev va planter!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void InitListe(Digi_struct **L){ ... *L = NULL; start_digi= *L ; (*L)->prev=end_digi;
NAME est un seul caractère ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part void add(Digi_struct **L, char NAME ,char TYPE,int ID){
Partager