Académique Documents
Professionnel Documents
Culture Documents
28
Chapitre 2: Les listes chainées
Cellules
29
Chapitre 2: Les listes chainées
tête 100 data 101 data 102 data 103 data NULL
100 101 102 103
30
Chapitre 2: Les listes chainées
Une liste chaînée est un ensemble de cellules (éléments, nœuds) liées entre elles par
des pointeurs. Chaque cellule est une structure contenant les champs suivants :
tête 100 data 101 data 102 data 103 data NULL
100 101 102 103
32
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
struct client {
char nom_clt[20]; Cellule client
long tel_clt;
};
*next_clt;
client
données
33
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
struct client {
char nom_clt[20]; Cellule client
long tel_clt;
};
struct client *next_clt;
client
données
34
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
36
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
37
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
296
38
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
??
{
printf("Nom :\t");
scanf("%s",&ptr->nom_clt);
printf("Tel :\t");
scanf("%d",&ptr->tel_clt);
ptr = ptr->nextclt; 41
}
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
4. Parcourir une liste chainée (Affichage)
Exercice:
Ecrire une fonction qui permet d’afficher tous les clients (Nom + N° de téléphone) de la liste
chainée créée précédemment.
43
Travail à faire
"Faire une
description
schématique"
44
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
5. L’ajout d’une cellule (client) au début de la liste chainée.
tete
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
Othman 0667307027
Les étapes à suivre:
1. Création de la nouvelle cellule avec malloc().
2. Remplissage de la cellule par les données. 320
3. Faire la liaison entre le nouvelle cellule et la première cellule de la liste chainée.
4. Modification de la tête de la liste pour qu’elle pointe sur la nouvelle cellule.
45
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
5. L’ajout d’une cellule (client) au début de la liste chainée.
tete
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
46
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
5. L’ajout d’une cellule (client) au début de la liste chainée.
tete
320
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
320
47
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
5. L’ajout d’une cellule (client) au début de la liste chainée.
Exercice:
En utilisant une fonction ajoutDebut(), écrire un programme qui permet d’ajouter des
nouveaux clients au début de la liste chainée.
(le nombre de client à ajouter est fixé par l’utilisateur).
48
49
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
6. L’ajout d’une cellule (client) à la fin de la liste chainée.
ptr
202 ptr = ptr -> nextclt
tete
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
50
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
6. L’ajout d’une cellule (client) à la fin de la liste chainée.
ptr
202 ptr = ptr -> nextclt
tete
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
51
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
6. L’ajout d’une cellule (client) à la fin de la liste chainée.
ptr
203 ptr = ptr -> nextclt
tete
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
52
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
6. L’ajout d’une cellule (client) à la fin de la liste chainée.
ptr
203
tete ptr = ptr -> nextclt
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
53
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
6. L’ajout d’une cellule (client) à la fin de la liste chainée.
ptr
204
tete ptr = ptr -> nextclt
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
Exercice:
En utilisant une fonction ajoutFin(), écrire un programme qui permet d’ajouter des
nouveaux clients à la fin de la liste chainée.
55
@ de la dernière cellule
56
Chapitre 2: Les listes chainées
La taille et la recherche dans une liste chainée
Exercice:
57
Chapitre 2: Les listes chainées
Taille d’une liste chainée.
58
Chapitre 2: Les listes chainées
Recherche un élément dans une liste chainée.
Appel de la fonction
59
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
7. L’ajout d’une cellule (client) au milieu de la liste chainée.
tete
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
Exercice:
61
62
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
8. Suppression dans une liste chainée
8.1 Suppression du début de la liste "Suppression de la première cellule"
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
63
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
8. Suppression dans une liste chainée
8.1 Suppression du début de la liste "Suppression de la première cellule"
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
65
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
8. Suppression dans une liste chainée
8.1 Suppression de la fin de la liste "Suppression de la dernière cellule"
tete
202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
66
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
8. Suppression dans une liste chainée
8.1 Suppression de la fin de la liste "Suppression de la dernière cellule"
67
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
8. Suppression dans une liste chainée
8.1 Suppression de la fin de la liste "Suppression de la dernière cellule"
ptr =202
tete 202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
68
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
8. Suppression dans une liste chainée
8.1 Suppression de la fin de la liste "Suppression de la dernière cellule"
ptr
tete 202 Ahmed 0661170724 203 Ali 0669188724 204 Omar 0723170717 NULL
69
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
8. Suppression dans une liste chainée
8.1 Suppression de la fin de la liste "Suppression de la dernière cellule"
70
Chapitre 2: Les listes chainées – Opérations sur les listes chainées
8. Suppression dans une liste chainée
8.1 Suppression de la fin de la liste "Suppression de la dernière cellule"
71