Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi bubblesort funzt ni need help (https://www.delphipraxis.net/112545-bubblesort-funzt-ni-need-help.html)

The_Doomed 23. Apr 2008 16:06

Re: bubblesort funzt ni need help
 
lol wenn ich aber schon bubblesort ni hinkrieg dann brauch ich mit quicksort erst ma gar ni anzufagen
so muss jetzt ma testen obs funzt

The_Doomed 23. Apr 2008 16:49

Re: bubblesort funzt ni need help
 
Delphi-Quellcode:
var i,j,n:integer;
f:array[0..10]of string;
h:string;
begin
n:=listbox1.Items.Count-1;

for i:=0 to n do f[i+1]:=listbox1.Items[i];

for i:=1 to n-1 do
  for j := i+1 to n - 1 do
    if f[j]>f[j+1] then
      begin
      h:=f[j+1];
      f[j+1]:=f[j];
      f[j]:=h;
      end;

       for i:=0 to n+1 do
  begin
  listbox2.Items.Add(f[i+1]);
  end;
er tauscht immer noch nicht oder gibts es nicht sortiert aus

bluesbear 23. Apr 2008 17:50

Re: bubblesort funzt ni need help
 
Zwei geschachtelte for-Schleifen :gruebel:
Also ich kenne den Bubblesort nur so, wie auch hier beschrieben:
http://de.wikipedia.org/wiki/Bubblesort

DeddyH 23. Apr 2008 17:55

Re: bubblesort funzt ni need help
 
Das sind aber auch 2 Schleifen :zwinker:

bluesbear 23. Apr 2008 18:02

Re: bubblesort funzt ni need help
 
Zitat:

Zitat von DeddyH
Das sind aber auch 2 Schleifen :zwinker:

Aber keine If-Schleifen! :drunken:

DeddyH 23. Apr 2008 18:07

Re: bubblesort funzt ni need help
 
:lol:

DeddyH 23. Apr 2008 18:20

Re: bubblesort funzt ni need help
 
Der Fehler ist: Du musst in beiden Schleifen bei 0 beginnen. Sparen kannst Du Dir nach dem ersten Durchlauf das letzte Element, das enthält garantiert den höchsten Wert.

Klaus01 23. Apr 2008 18:35

Re: bubblesort funzt ni need help
 
Meines Erachtens muss die innere Schleife nicht bei 0 starten.
Delphi-Quellcode:
for i:=0 to 9 do
  for j := i + 1 to 9 do
    begin
      if data[i] > data[j] then
        begin
          dummy:=data[i];
          data[i]:=data[j];
          data[j]:=dummy;
        end;
    end;
Es reicht wenn sie beim aktuellen Stand +1 der Vorgängerschleife startet.

Grüße
Klaus

The_Doomed 23. Apr 2008 18:37

Re: bubblesort funzt ni need help
 
Delphi-Quellcode:
var i,j,n:integer;
f:array[0..10]of string;
h:string;
begin
n:=listbox1.Items.Count;

for i:=0 to n-1 do f[i+1]:=listbox1.Items[i];

for i:=1 to n do
  for j := 1 to n-1 do
    if f[j]>f[i] then
      begin
      h:=f[i];
      f[i]:=f[j];
      f[j]:=h;
      end;

       for i:=0 to n do
  begin
  listbox2.Items.Add(f[i+1]);
  end;
jo das wars danke
mann mann mann is schon ganz schön schwer ^^

DeddyH 23. Apr 2008 18:40

Re: bubblesort funzt ni need help
 
Angenommen, mein Array sieht so aus: 9,8,7,6,5,4,3,2,1
Nach dem ersten Durchlauf ist der Stand dann: 8,7,6,5,4,3,2,1,9
Also kannst Du Dir nicht das erste, sondern das letzte Element sparen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz