Bonsoir,

j'aimerais quelques précisions sur les listes chaînées :

D'après ce que j'ai compris du sujet (corrigez moi si je me trompe!), une liste liste chaînée est composée de n structures contenant une partie données (entier,chaîne de caractères, structure, etc)et d'un pointeur pointant vers l'élément suivant (avec cas particulier pour premier et dernier éléments).

L'avantage d'une liste chaînée est donc de pouvoir insérer et créer autant d'éléments que l'on souhaite, sans savoir à l'origine combien il y en aura ( car si l'on sait combien on aura d'éléments, autant créer un tableau c'est bien plus simple non ?).

Mais au début du programme, il faut bien déclarer chaque les éléments ? Alors comment est-ce possible vu que l'on n'en connait pas a priori le nombre ?

C'estpour cela qu'il me semble que l'on ne déclare que 3 structures,

où la strucure en question est par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
typedef struct noeud{
 
char info;
struct noeud *next;
 
}node;

node *tete,p*,q*;
(tete est le premier element dela liste)
et p et q sont utilisés lors d'opérations telles que insérer, déplacer, supprimer(etc.) un élément et modifient les pointeurs sur la structure pour indiquer le nouveau chemin vers l'élément suivant.

Donc je pense qu'on ne connait pas explicitement l'adresse du i-ème élément, mais qu'on y accède à partir de l'adresse du premier élément.

Mais alors comment acceder concrètement à cet i-ème élément en pratique ?
Par exemple pour afficher à l'écran le contenu de sa partie information ?