Opérations-Listes Chainees
Opérations-Listes Chainees
Opérations-Listes Chainees
Voici la fonction en langage pseudo-code (ou langage naturel) pour insérer un élément en fin de liste
chaînée :
InsérerEnFin(liste, valeur)
nouveau_noeud = NouveauNoeud(valeur)// Crée un nouveau nœud avec la valeur
spécifiée
si liste est vide alors
liste.debut = nouveau_noeud // Le nouveau nœud devient le début de la liste
liste.fin = nouveau_noeud // Le nouveau nœud devient aussi la fin de la liste
sinon
liste.fin.suivant = nouveau_noeud // Le dernier nœud de la liste pointe vers
le nouveau nœud
liste.fin = nouveau_noeud // Le nouveau nœud devient la nouvelle fin de la
liste
Cette fonction prend en entrée la liste chaînée (liste) et la valeur de l'élément à insérer (valeur). Elle crée
un nouveau nœud avec cette valeur, puis l'insère en fin de liste chaînée. Si la liste est vide, le nouveau
nœud devient à la fois le début et la fin de la liste. Sinon, le dernier nœud de la liste pointe vers le nouveau
nœud, puis le nouveau nœud est défini comme la nouvelle fin de la liste.
Voici la fonction en langage pseudo-code (ou langage naturel) pour insérer un élément après un nœud
spécifique dans une liste chaînée :
InsérerAprèsNoeud(noeud, valeur)
si noeud est null alors
renvoyer "Le nœud spécifié est nul, l'insertion est impossible."
sinon
nouveau_noeud = NouveauNoeud(valeur) // Crée un nouveau nœud avec la valeur
spécifiée
nouveau_noeud.suivant = noeud.suivant // Le nouveau nœud pointe vers le nœud
suivant du nœud spécifié
1
noeud.suivant = nouveau_noeud // Le nœud spécifié pointe vers le nouveau nœud
Cette fonction prend en entrée le nœud spécifique après lequel insérer l'élément (noeud) et la valeur de
l'élément à insérer (valeur). Elle vérifie d'abord si le nœud spécifié n'est pas nul. Ensuite, elle crée un
nouveau nœud avec la valeur spécifiée. Le nouveau nœud est inséré après le nœud spécifié en mettant à
jour les pointeurs : le nouveau nœud pointe vers le nœud suivant du nœud spécifié, puis le nœud spécifié
pointe vers le nouveau nœud.
2. Suppression
Voici la fonction en langage pseudo-code (ou langage naturel) pour supprimer un élément en tête d'une
liste chaînée :
SupprimerEnTête(liste)
si liste.debut est null alors
renvoyer "La liste est vide, aucune suppression n'est effectuée."
si liste.debut = liste.fin
liste.debut = null
liste.fin = null
sinon
liste.debut = liste.debut.suivant
Cette fonction supprime l'élément en tête de la liste chaînée. Elle vérifie d'abord si la liste est vide. Si c'est
le cas, elle indique qu'aucune suppression n'est effectuée. Sinon, si le début de la liste est également le
dernier élément (ce qui signifie qu'il n'y a qu'un seul élément dans la liste), la fonction met à jour à la fois le
début et la fin de la liste à null. Sinon, elle met simplement à jour le début de la liste pour pointer vers le
deuxième élément de la liste, ce qui supprime ainsi le premier élément.
Voici la fonction en langage pseudo-code (ou langage naturel) pour supprimer un élément en fin de liste
chaînée :
SupprimerEnFin(liste)
si liste.debut est null alors
renvoyer "La liste est vide, aucune suppression n'est effectuée."
Voici la fonction en langage pseudo-code (ou langage naturel) pour supprimer un élément après un nœud
spécifique dans une liste chaînée :
SupprimerAprèsNoeud(noeud)
si noeud est null ou si noeud.suivant est null alors
2
renvoyer "Le nœud spécifié est invalide ou il n'y a pas de nœud après celui-
ci."
sinon
nœud_a_supprimer = noeud.suivant
noeud.suivant = nœud_a_supprimer.suivant
Libérer(nœud_a_supprimer)// Libérer la mémoire occupée par le nœud à supprimer
Cette fonction prend en entrée le nœud spécifique après lequel supprimer l'élément (noeud). Elle vérifie
d'abord si le nœud spécifié n'est pas nul et s'il a un nœud suivant. Ensuite, elle stocke le nœud suivant dans
une variable temporaire (nœud_a_supprimer), puis met à jour le lien du nœud spécifié pour sauter le
nœud à supprimer. Enfin, elle libère la mémoire occupée par le nœud à supprimer.
3. Recherche dans une Liste Chaînée
Voici la fonction en pseudo-code pour rechercher un élément donné dans une liste chaînée :
RechercherElement(liste, valeur_recherchee)
nœud_actuel = liste.debut
tant que nœud_actuel n'est pas null faire
si nœud_actuel.valeur est égale à valeur_recherchee alors
renvoyer "L'élément a été trouvé"
sinon
nœud_actuel = nœud_actuel.suivant
renvoyer "L'élément n'a pas été trouvé"