[LG]Tri par insertion dans une liste chainée
voila j'essaie de faire un tri par insertion dans une liste chainée seulement je n'arrive pas a trouver ce qui ne va pas dans mon code, si quelqu'un pouvait eventuellement m'aider
merci d'avance
Code:
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
|
procedure trier_liste(var TDL:ptliste;nbelem:integer);
var ptint,ptRes,ptPrec:ptliste;
begin
ptPrec:=nil;
ptint:=TDL;
ptRes:=nil;
for i:=1 to nbelem do
begin
while (ptint<>nil) do
begin
if (ptPrec^.elem<=ptint^.elem)
then begin
ptRes:=ptPrec;
ptPrec:=ptint;
ptint:=ptint^.suiv;
end
else begin
ptRes:=ptPrec^.suiv;
ptPrec:=ptint;
ptint:=ptint^.suiv;
end;
end;
end;
end; |
@+
mister_dsg