
Rechercher un élément dans la liste :
Étapes : recherche de la valeur « x ».
1. Initialiser : tempo = tete;
2. Tant que (tempo ≠ fin de la liste) ET ( *tempo ne contient pas « x »)
Faire : tempo = tempo->suivant;
3. Si (tempo == NULL) //fin de la liste!
L’élément n’est pas dans la liste, on renvoie NULL
Sinon, on a trouvé l’élément « x », on renvoie un pointeur à ce nœud.
En C, sous forme de fonction :
T_lien trouver_element(T_lien tete, T_objet x){
T_lien tempo = tete;
while ((tempo != NULL) && (tempo->data != x))
tempo = tempo->suivant;
return tempo;
}
Exemple d’appel de la fonction :
T_lien ici = trouver_element(tete, 3);
if (ici != NULL) { . . . }
Intro_Liste.CPP : Exemple de gestion d'une liste chaînée simple
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 10
/********************************************************************/
/* DEFINITION DES TYPES */
/********************************************************************/
typedef int T_objet;
typedef struct noeud * T_lien;
struct noeud {
T_objet data;
T_lien suivant;
};
/********************************************************************/
/* Déclarations des fonctions de gestion de liste */
/********************************************************************/
void ajouter(T_lien *, T_lien *, T_objet);
int retirer_le_i(const T_lien *, int, T_objet *);
void retirer_du_debut(T_lien *);