Thema: FreePascal Bubblesort Problem

Einzelnen Beitrag anzeigen

GreyFox23

Registriert seit: 18. Apr 2015
2 Beiträge
 
#1

Bubblesort Problem

  Alt 4. Okt 2015, 20:34
Guten Abend,

momentan programmieren wir in der Schule einen Bubblesort-Algorithmus, der uns zufällig erzeugte Zahlen sortieren soll.
Ich sitze nun vor folgendem Problem:
Meine Bs-Algorithmus sortiert immer richtig, nur lässt er die höchste Zahl weg und überträgt auch nichts in StrinGrid (in welchem die sortierten Zahlen angezeigt werden sollen).
Wenn nun z.B. zufällige Zahlen von 1-100 gewählt werden, 10 an der Zahl: 87,62,25,12,19,2,45,98,57,98, wird in diesem Szenario die beiden 98 nicht mitsortiert, d.h. sie werden einfach ignoriert.

Hier mein Quellcode

Code:
procedure TBubblesortForm.SortButtonClick(Sender: TObject);
begin
  for i:=0 to high(numbers)-1 do
  begin
    for k:=i+1 to high(numbers) do
    begin
    if numbers[i]>numbers[k] then
        begin
        bubble:=numbers[k];
        numbers[k]:=numbers[i];
        numbers[i]:=bubble;
        snumbers[i]:=numbers[i];
        BubbleStringGrid2.cells[0,i-1]:=IntToStr(snumbers[i]);
        end;
      end;
  end;
end;
Ich hoffe man kann mir helfen.

MfG
  Mit Zitat antworten Zitat