Skip to content

Instantly share code, notes, and snippets.

@jtraulle
Last active September 25, 2015 17:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jtraulle/dcdec143add52b082bf1 to your computer and use it in GitHub Desktop.
Save jtraulle/dcdec143add52b082bf1 to your computer and use it in GitHub Desktop.
Langage Pascal : listes simplement chaînées
program ListesSimplementChainees;
{pcellule est un pointeur vers une cellule
cellule est une structure contenant
- valeur : une valeur
- suivant : un pointeur vers la prochaîne cellule (le prochain élément de la liste }
type pcellule = ^cellule ;
cellule = record
valeur : integer;
suivant : pcellule;
end;
{Procédure permettant d'ajouter un élément à la fin d'une liste}
procedure ajouterElementFinListe(celInitiale : pcellule) ;
var precedent, cel : pcellule; {Contiendra l'adresse de la cellule précédente et de la cellule courante}
begin
writeln('Saisissez la valeur de l element a ajouter en fin de liste : ');
readln(valeur); {On récupère la valeur de l'élément à ajouter à la liste}
precedent:=celInitiale; {On indique l'adresse de la cellule courante pour qu'on puisse la récupérer au prochain passage de boucle}
while (precedent^.suivant <> nil) do precedent := precedent^.suivant;
new(cel);
cel^.valeur:= valeur;
precedent^.suivant:= cel;
end;
procedure afficherListe(cel: pcellule);
var compteur : integer;
begin
compteur := 0;
while (cel <> NIL) do
begin
compteur := compteur + 1;
writeln('Item n°',compteur,' : ',cel^.valeur);
cel:=cel^.suivant;
end;
end;
var liste1 : pcellule; {contient l'adresse de la cellule initiale de notre liste}
BEGIN
new(liste1);
ajouterElementFinListe(liste1); {On appelle creerListe pour cree la liste}
ajouterElementFinListe(liste1); {On appelle creerListe pour cree la liste}
afficherListe(liste1); {On affiche la liste nouvellement créée}
readln;
END.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment