1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| PROGRAM remplisseurDeListe;
TYPE liste = ^cellule;
cellule = RECORD
tete:integer;
queue:liste
END;
VAR l1:liste;
PROCEDURE ajouter(var l: liste; valeur: integer);
var p: liste;
begin
new(p);
p^.tete := valeur;
p^.queue := l;
l := p;
end;
PROCEDURE afficher(l: liste);
VAR p: liste;
BEGIN
p := l;
WHILE p <> NIL DO BEGIN
writeln(p^.tete);
p := p^.queue;
END;
END;
PROCEDURE vider(l: liste);
VAR p, r: liste;
BEGIN
p := l;
WHILE (p <> NIL) DO BEGIN
r := p^.queue;
dispose(p);
p := r;
END;
END;
FUNCTION remplirListe:liste;
VAR i:integer;
BEGIN
new(remplirListe);
remplirListe:=NIL;
writeln('nombre ?');
readln(i);
ajouter(remplirListe,i);
writeln('nombre ?');
readln(i);
ajouter(remplirListe,i);
writeln('nombre ?');
readln(i);
ajouter(remplirListe,i);
END;
BEGIN
l1:=remplirListe;
afficher(l1);
vider(l1);
readln
END. |