Insertion en queue d'une liste
Bonjour à tous,
Voilà j'ai un petit souci pour insérer en queue d'une liste une autre liste.
Si je simplifie ma structure de donnée juste pour comprendre ma faute de raisonnement, supposons que j'ai mon type liste défini comme celui ci :
Code:
1 2 3 4 5 6
| type List = ^Cellule;
Cellule =
record
mot : string;
s : List
end; |
En supposant que l'on dispose une Liste p à laquelle on veut rajouter d'autres mots, j'ai dans mon programme principal :
Code:
1 2
| if p = NIL then creer(p,mot)
else ajout(p,mot); |
avec :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| procedure creer(var p : List; mot : string);
var q:List;
begin
new(q);
q^.mot := mot;
q^.s :=NIL;
p:=q;
end;
procedure ajout(var p : List; mot:string);
var r,q : List;
begin
creer(r,mot);
q:=p;
while q<>NIL do
q:=q^.s;
q^.s := r;
p:=q;
end; |
Je ne sais comment faire pour que la procédure ajout dans laquelle c'est ici que je veux insérer r en queue à p fonctionne. :(
Merci d'avance