Einzelnen Beitrag anzeigen

No0oB

Registriert seit: 29. Mai 2006
Ort: Hanau
16 Beiträge
 
Delphi 2005 Personal
 
#1

Selection Sort hat Bugs...

  Alt 6. Sep 2006, 16:18
Hallo Leute.
Ich programmiere gerade ein Programm, welches zufällige Zahlen sortieren soll.
Bis jetzt hab ich BubbleSort und SelectionSort, bzw. ich meinte SelectionSort zu haben.
Vor kurzem habe ich jedoch folgenden Bug gefunden:
Bei erstem Hinsehen meint man, dass er korrekt sortiert hat, nur taucht ab und zu eine Zahl auf die nicht hingehört, also eine kleine Zahl, wo egtl. eine große stehen soll.

Hier ist der Code für die SelectionSort Prozedur
Delphi-Quellcode:
procedure TForm1.B_SelectionSortClick(Sender: TObject);
var i, j:longint;
var min:longint;
begin
  M_1.Clear;
  swapi := 0;
  for i:=1 to amount do begin
     min := i;
     for j:=i+1 to amount do begin
       if numbers[j] < numbers[min] then begin
        min := j;
       end;
     swapvals(numbers[min], numbers[i]);
     end;

  end;
  for i:=1 to amount do
    M_1.Lines.Add(IntToStr(i)+': '+IntToStr(numbers[i]));
  L_vergleichei.Caption := IntToStr(swapi);
end;
Die Prozedur swapvals()
Delphi-Quellcode:
procedure swapvals(var val1, val2:longint);
var buff:longint;
begin
  buff := val1;
  val1 := val2;
  val2 := buff;
  inc(swapi);
end;
Globale Variablen
Delphi-Quellcode:
var
  Form1: TForm1;
  numbers :array [1..amount] of LongInt;
  swapi: longint = 0;
Ich hoffe mir kann geholfen werden.
Ggf. kann ich ja die .exe zum Download freigeben, falls meine Fehlerbeschreibung nicht sehr aufschlussreich ist.
Danke.
PS: Ich weiss nicht ob Delphi 7 Delphi.NET oder Delphi Win32 ist ...
blah
  Mit Zitat antworten Zitat