ça fait longtemps que j'ai pas fais de C, et je voudrais avoir un exemple de liste chaînée autre que celui déjà proposé dans le tutoriel!
Merci d'avance.
ça fait longtemps que j'ai pas fais de C, et je voudrais avoir un exemple de liste chaînée autre que celui déjà proposé dans le tutoriel!
Merci d'avance.
Il y a au moins deux tutoriaux sur les listes chaînées sur developpez.com:
http://nicolasj.developpez.com/articles/listesimple/
http://chgi.developpez.com/pile/
Lequel as-tu déjà lu?
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
J'avais lus les deux, mais je voulais encore un autre exemple.
je ne vois pa la difference entre sa:
et sa
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct sll { item_s *p_start; item_s *list; } sll_s;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 typedef struct sll { item_s *p_start; item_s *list; };
Le 1er bout de code définit un alias de type appelé sll_s, tandis que le deuxième ne définit aucun type. (je me demande même s'il s'agit d'une syntaxe valide d'un typedef?)
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Donc si je fais une liste chainée, j'utilise juste la première structure?
Et sinon peux tu m'envoyer un autre petit bout de prog. pour que je comprenne mieux STP?
Merci d'avance
Je ne comprends pas très bien ton problème. Tu connais les structures, les pointeurs, l'allocation dynamique, le principe du chainage, les fonctions, les paramètres ?Envoyé par poche
Que veux tu de plus, du code tout fait ? Ben non. C'est à toi de réfléchir.
Commence par des choses simples.
écrit une fonction qui ajoute un élément à cette liste (list_add) et une autre qui affiche le contenu de la liste (list_display) . Complète le main().
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 /* élément (noeud) d'une liste chainée d'int */ struct node { /* données */ int data; /* chainage */ struct node *p_next; }; struct list { /* premier élément */ struct node *p_head; /* dernier élément */ struct node *p_tail; }; ??? list_add (???) { ??? } ??? list_display (???) { ??? } int main (void) { struct list list = {NULL, NULL}; list_add (???, 123); list_add (???, 456); list_display (???); return 0; }
En supposant que item_s est défini quelque part avant, le deuxième exemple est faux. Il manque le nom du typedef. Dans les deux cas, le tag 'sll' n'est pas utilisé.Envoyé par poche
Partager