AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Bubbesort

Ein Thema von Luckie · begonnen am 24. Mai 2003 · letzter Beitrag vom 24. Mai 2003
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Problem mit Bubbesort

  Alt 24. Mai 2003, 16:27
So, ich habe für meine Datnebank einen Bubbelsort implementiert. Nur irgendwie macht er nicht so ganz, dass was er soll. Er sortiert nur bis zu Hälfte (Wenn er es tut. Die ersten datensätze sind noch sortiert.), und ab der Hälfte sind dann alle Datensätze identisch. Also so sieht das dann aus:
Zitat:
aa
bb
cc
dd
dd
dd
Ich benutze die Implementation von Daniel aus der Tutorialsparte.
Delphi-Quellcode:
procedure SwapIt(Record1, Record2: Trecord);
var
  TempRecord: Trecord;
begin
  TempRecord := Record1;
  Record1 := Record2;
  Record2 := TempRecord;
end;

procedure Sort;
var
  MyTypedFile : TTypedFile;
  Record1, Record2 : TRecord;
  s, s1, s2: String;
  i, j: Integer;
begin
  MyTypedFile := TTypedFile.Create(CutFilename(ParamStr(0))+'\'+DATAFILENAME);
  try
    for i := MyTypedFile.GetRecordsCount-1 downto 1 do
    begin
      for j := 2 to i do
      begin
        Record1 := MyTypedFile.GetRecord(j-1);
        Record2 := MyTypedFile.GetRecord(j);
        s1 := CreateLVCaption(j-1);
        s2 := CreateLVCaption(j);
        if s1 > s2 then
        begin
          SwapIt(Record1, Record2);
          MyTypedFile.ModifyRecord(Record1, j-1);
          MyTypedFile.ModifyRecord(Record2, j);
        end;
      s := Format('Datensätze werden sortiert: %d ...', [i]);
      SendDlgItemMessage(hApp, IDC_STATBAR, SB_SETTEXT, 1, Integer(@s[1]));
      ProcessMessages(hApp);
      end;
    end;
  finally
    MyTypedFile.Free;
    s := '';
    SendDlgItemMessage(hApp, IDC_STATBAR, SB_SETTEXT, 1, Integer(@s[1]));
  end;
end;
Ich sitze schon den ganzen Tag davor und finde den Fehler nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz