Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Sortieralgorithmus -> Denkfehler


Horschdware - Di 24.01.06 20:16
Titel: Sortieralgorithmus -> Denkfehler
Hallo,
ich wollte hier nen kleinen Sortieralgo schreiben.
Und interessanterweise funktioniert das nicht, d.h.
das array wird nicht richtig sondern nur teilweise
und das auch noch komisch sortiert. Findet jemand
meinen Denkfehler?


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure SortArray(var input : array of integer);
var i, temp : integer;
begin
  i:=low(input);
  while i<high(input) do
  if input[i]>input[i+1then
  begin
    temp:=input[i];
    input[i]:=input[i+1];
    input[i+1]:=temp;
    i:=low(input);
  end
  else inc(i);
end;



Moderiert von user profile iconGausi: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Di 24.01.2006 um 19:23


WolfB - Di 24.01.06 22:07

hi!
ich habe mir deine prozedur angesehen und finde einfach keinen fehler. darum habe ich sie selbst getestet um mir den fehler mal selbst anzusehen. habe ein array erstellt, 1..100, mit zufallszahlen gefüllt, und deine prozedur drüber gejagt. bei mir werden die zahlen richtig geordnet.
vll stimmt ja was mit deiner ausgabe nicht? oder ich habe einfach irgendwas nicht so ganz verstanden ^^


Horschdware - Mi 25.01.06 01:29

Bin gerade wieder heim gekommen und hab das ganze nochmal probiert.
Seltsamerweise funktioniert es wirklich.
Keine Ahnung was vorhin wieder kaputt war. Ich behaupte mal compilerfehler und gut ist ;-)

Ne, Spaß... ich schätze mal da hat wirklich was mit der Ausgabe nicht gestimmt.
Aber trotzdem mal danke fürs durchschaun und mitdenken/helfen/etc