Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Bubblesort.... (https://www.delphipraxis.net/116095-bubblesort.html)

Razor90 23. Jun 2008 12:50


Bubblesort....
 
Hallo! Ich möchte in einer Tabelle jahre und Monate aufsteigend ordnen. Dazu will ich Bubblesort verwenden.
Ich habe jetzt jedoch das Problem, dass die Records(Arrays) nicht getauscht werden, sondern beide mit einmal identisch sind, d.h. alle Werte in der Tabelle sind gleich. Hier ist der Quelltext...könnt ihr mir vll helfen?
Delphi-Quellcode:
for o:=1 to aa do
        begin
        for k:=1 to aa-o do begin
        if (Datei[k].Jahr>=Datei[k+1].Jahr) then begin
        if (Datei[k].Monat>Datei[k+1].Monat)
        then begin
        hilf:=Datei[k+1];
        Datei[k+1]:=Datei[k];
        Datei[k]:=hilf;
        end;
        end;
        end;
        end;
        for p:=1 to aa do begin
         form1.stringgrid1.Cells[0,p]:=IntToStr(Datei[aa].Jahr);
         form1.stringgrid1.cells[1,p]:=IntToStr(Datei[aa].Monat);
         

end;

  end;
THX und mfg

BullsEye 23. Jun 2008 12:56

Re: Bubblesort....
 
Delphi-Quellcode:
hilf:=Datei[k+1];
Datei[k+1]:=Datei[k];
Datei[k]:=hilf;
durch
Delphi-Quellcode:
hilf:=Datei[k];
Datei[k]:= Datei[k+1];
Datei[k+1]:=hilf;
ersetzten

Razor90 23. Jun 2008 12:58

Re: Bubblesort....
 
Hab ich gemacht...gleiches Ergebnis wie vorher....woran könnte das denn liegenn??? Jmd ne Idee?

mkinzler 23. Jun 2008 13:01

Re: Bubblesort....
 
Dreieckstausch ist Dreieckstausch, egal in welche Richtung man tauscht.

hoika 23. Jun 2008 13:03

Re: Bubblesort....
 
Hallo,

der normale BubbleSort sieht so aus

Delphi-Quellcode:
for i:=1 to aa do
begin
  for j:=i+1 to aa do
  begin
    jetzt i und j vergleichen

Heiko

Sharky 23. Jun 2008 13:07

Re: Bubblesort....
 
Hai,

wenn es um Sortierungen geht, da hat Daniel mal ein Tutorial geschrieben.

Razor90 23. Jun 2008 13:09

Re: Bubblesort....
 
immernoch das gleiche...hab jetzt den code verändert, aba immernoch sind die werte gleich...
Delphi-Quellcode:
for o:=1 to aa do begin
        for k:=1 to aa-o do begin
        if (Datei[k].Jahr>Datei[k+1].Jahr) {and
         (Datei[k].Monat>Datei[k-1].Monat)} then begin
        hilf:=Datei[k];
        Datei[k]:= Datei[k+1];
        Datei[k+1]:=hilf;
        end;
        end;



        end;
        for p:=1 to aa do begin
         form1.stringgrid1.Cells[0,p]:=IntToStr(Datei[aa].Jahr);
         form1.stringgrid1.cells[1,p]:=IntToStr(Datei[aa].Monat);
end;

Razor90 23. Jun 2008 13:52

Re: Bubblesort....
 
keiner mehr ne idee?

hoika 23. Jun 2008 14:03

Re: Bubblesort....
 
Hallo,

wenn du mein Posting nicht willst ...

Delphi-Quellcode:
i:= 1 to max
  j:= i+1 to max
nicht j:= 1
und nicht aa und aa-o !!!


Heiko

Razor90 23. Jun 2008 14:18

Re: Bubblesort....
 
so...habs jetzt so gemacht wie du es gesagt hast...aba jetzt sind wieder alle werte 0


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:36 Uhr.
Seite 1 von 2  1 2      

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