Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-39%
Le deal à ne pas rater :
Pack Home Cinéma Magnat Monitor : Ampli DENON AVR-X2800H, Enceinte ...
1190 € 1950 €
Voir le deal

Liste chaînée simple

Aller en bas

Liste chaînée simple Empty Liste chaînée simple

Message par pirate Ven 30 Mar - 19: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
Entier Naturel
Entier Naturel

Nombre de messages : 28
Réputation : 0
Points : 6243
Date d'inscription : 30/03/2007

Revenir en haut Aller en bas

Liste chaînée simple Empty Re: Liste chaînée simple

Message par pirate Sam 31 Mar - 13: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
Entier Naturel
Entier Naturel

Nombre de messages : 28
Réputation : 0
Points : 6243
Date d'inscription : 30/03/2007

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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