Silenia Tyrvenis
Grünschnabel
Hallöchen!
Also ich habe hier einen Quelltext bekommen zum Thema Shell Sort und soll beschreiben was in welcher Zeile passiert:
So also, ich weiß nicht warum Done gleich True gesetzt wird und am ende wieder false und warum da ganz zum schluß until Done steht.
Außerdem weiß ich nicht wie ich den Abstand zu definieren habe.
Falls mir wer helfen kann wäre ich sehr dankbar! Ich bin nämlich so langsam am verzweifeln.
Also ich habe hier einen Quelltext bekommen zum Thema Shell Sort und soll beschreiben was in welcher Zeile passiert:
Code:
procedure ShellSort
var Abstand, i, j, Merke : Integer;
Done: Boolean
begin
Abstand :=n;
while (Abstand >1) do
begin
Abstand := Abstand div2;
repeat
Done :=True;
for j:= 1 to n- Abstand do
begin
i:= j+Abstand;
if (Zahl[j] >Zahl[i]) then
begin
Merke:= Zahl [j];
Zahl[j]:= Zazhl[i];
Zahl[i]:= Merke;
Done:= False
end;
end;
until Done;
end;
end;
So also, ich weiß nicht warum Done gleich True gesetzt wird und am ende wieder false und warum da ganz zum schluß until Done steht.
Außerdem weiß ich nicht wie ich den Abstand zu definieren habe.
Falls mir wer helfen kann wäre ich sehr dankbar! Ich bin nämlich so langsam am verzweifeln.