Liste chaînée simple

Poster un nouveau sujet   Répondre au sujet

Voir le sujet précédent Voir le sujet suivant Aller en bas

Liste chaînée simple

Message par pirate le Ven 30 Mar - 17:19

le probleme est:

On décide de créer une liste chaînée contenant des entiers. Définir les types nécessaires pour la mise en œuvre de cette liste chaînée, et prévoir deux procédure ou fonctions pour ajouter une valeur et afficher le contenu de la liste. Remplir la chaîne avec quelques valeurs. Enfin écrire une procédure pour vider la liste et libérer l'espace mémoire qui lui était associé.



[b]

pirate
Nouveau membre
Nouveau membre

Messages : 28
Inscrit le : 30 Mar 2007

Revenir en haut Aller en bas

Re: Liste chaînée simple

Message par pirate le Sam 31 Mar - 11:50

affraid le code est :


type
PCellule = ^Cellule;
Cellule = record
valeur: integer;
suivant: PCellule;
end;

procedure ajouter(var liste: PCellule; valeur: integer);
var
p: PCellule;
begin
new(p);
p^.valeur := valeur;
p^.suivant := liste;
liste := p;
end;

procedure afficher(liste: PCellule);
var
p: PCellule;
begin
p := liste;
while p <> nil do
begin
writeln(p^.valeur);
p := p^.suivant;
end;
end;

procedure vider(liste: PCellule);
var
p, r: PCellule;
begin
p := liste;
while (p <> nil) do
begin
r := p^.suivant;
dispose(p);
p := r;
end;
end;

var
liste: PCellule;
nombre: integer;

begin
writeln('Entrez les nombres à ajouter (0 pour quitter) : ');
readln(nombre);
while nombre <> 0 do
begin
ajouter(liste, nombre);
readln(nombre);
end;
writeln('Valeurs de la liste : ');
afficher(liste);
readln;
vider(liste);
end.

pirate
Nouveau membre
Nouveau membre

Messages : 28
Inscrit le : 30 Mar 2007

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum