Hallo Leute!
Ich brauche eure Hilfe bei dem Sortieralgorithmus Gnomesort. Ich muss den am Montag in der Schule vortragen. Den Quelltext dafür hab ich auch schon fertig. Theoretisch müsste er funktionieren, aber wie das so ist klappt es in der Praxis net.
Der Algorithmus sortiert zwar aber nicht alles...
Naja hier erstmal der Quelltext:
Delphi-Quellcode:
procedure TForm1.BitBtn2Click(Sender: TObject);
var i,hilfe, Anzahl, Tauschung, Vergleiche : integer;
begin
i:=0;
Anzahl:=Listbox1.Items.Count;
Vergleiche:=0;
Tauschung:=0;
while i<Anzahl-1 do
Begin Vergleiche:=Vergleiche+1;
if i<0 then
begin
i:=i+1;
end;
If StrToInt(Listbox1.Items[i]) > StrToInt(Listbox1.Items[i+1])
then Begin
hilfe:=StrToInt(Listbox1.Items[i]);
Listbox1.Items[i]:=Listbox1.Items[i+1];
Listbox1.Items[i+1]:=IntToStr(hilfe);
Tauschung:=Tauschung+1;
i:=i+1;
End
else i:=i-1;
End;
Label3.Caption:='Die Zahlen wurden '+InttoStr(Vergleiche)+' mal verglichen und '+InttoStr[Tauschung)+' mal getauscht!';
end;
Vielleicht könnt ihr mir ja helfen und wisst wo der Fehler liegt.
Wär jedenfalls total lieb, wenn mir jemand helfen könnte. Ich sag schon mal Danke im Voraus!