trouve :booléen 
Début 
trouve←FAUX 
pPrec←NIL 
pEncours←pTete 
Tant que pEncoursNIL ET pEncours→valeur<>v Faire 
pPrec←pEncours 
pEncours ← pEncours→pSuiv 
FinTantQue 
Si pEncoursNIL ET pEncours→valeur=v Alors 
trouve←VRAI 
FinSI 
FinProc
e. Ajout d’un élément 
Pour  l’ajout  d’un  élément  dans  la  liste,  trois  cas  de  figure  peuvent  se  présenter,  nécessitant  trois  traitements 
différents : 
q L’ajout d’un élément en début de liste. 
q L’ajout d’un élément en milieu de liste. 
q L’ajout d’un élément en fin de liste. 
Dans les trois cas, le chaînage est modifié. Il est certes possible de créer un gros sous­programme qui gère les trois 
cas d’un coup, mais il est profitable de différencier ces trois traitements en trois sous­programmes indépendants. Il 
sera toujours temps ensuite de créer un sous­programme fédérateur qui gèrera tous les cas. 
Dans tous les cas suivants, l’adresse de l’élément à rajouter, que vous aurez déjà remplie avec la bonne valeur, sera 
représentée par le pointeur pNouveau. 
Deux cas sont possibles : l’ajout d’un élément dans une liste vide, auquel cas il s’agit du premier enregistrement, et 
l’ajout d’un élément en première position de la liste. 
Dans le premier cas, il s’agit de faire en sorte que l’élément à ajouter soit le premier, donc que pNouveau devienne 
l’élément de tête de la liste, sans élément suivant. Vous passez à la procédure le pointeur sur l’enregistrement et le 
pointeur de tête. 
Procédure ajout_unique(E :pNouveau, ES :pTete: pointeurs sur element) 
Début 
pNouveau→pSuiv ← NIL 
pTete←pNouveau 
FinProc
La  seconde  procédure  ajoute  le  nouvel  élément  en  tête  de  liste,  sachant  que  la  liste  contient  déjà  au  moins  un 
élément. C’est un cas très simple où le nouvel élément reçoit comme élément suivant celui de tête. Pour ce dernier, 
rien ne change. 
Procédure ajout_début(E :pNouveau, ES :pTete :pointeurs sur element) 
Début 
pNouveau→pSuiv ← pTete 
pTete←pNouveau 
FinProc
C’est encore un cas très simple. Le rajout d’un élément en fin de liste nécessite seulement de connaître l’adresse du 
dernier élément actuel. Le pointeur pSuiv de ce dernier pointera sur le nouvel élément, et le pSuiv du nouvel élément 
recevra NIL. 
Si vous reprenez les procédures de recherche et de parcours de la liste chaînée, à la fin de la liste pEncours vaut NIL 
et pPrec contient l’adresse du dernier enregistrement. La procédure ajout_fin() reçoit deux paramètres : pNouveau et 
pPrec. 
Ajout en début de liste
Ajout en fin de liste
- 5 -
© ENI Editions - All rigths reserved - Jonifar lina
178
Précédent

- 178/220

Suivant