AGB  ·  Datenschutz  ·  Impressum  







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

Bubblesort an Liste anpassen

Ein Thema von wendel · begonnen am 6. Jan 2007 · letzter Beitrag vom 6. Jan 2007
Antwort Antwort
wendel

Registriert seit: 6. Jan 2007
3 Beiträge
 
#1

Bubblesort an Liste anpassen

  Alt 6. Jan 2007, 13:05
Hey Leutz, ich bräuchte einen Tipp, wie ich in eine vorhande Liste den Bubblesort anpassen könnte
Delphi-Quellcode:
procedure BubbleSort(Items: TStrings);
var
  Element : TElement;
  done: boolean;
  i, n: integer;
  Dummy: string;
begin
  n := Items.Count;

  repeat
    done := true;
    for i := 0 to n - 2 do
      if Items[i] > Items[i + 1] then
      begin
        Dummy := Items[i];
        Items[i] := Items[i + 1];
        Items[i + 1] := Dummy;

        done := false;
      end;
  until done;

end;



procedure TFListe.Button1Click(Sender: TObject);
begin
BubbleSort(Listbox1.Items);
end;
Anstelle der Listbox verwenden wir ein TStringGrid ;/
Ich hänge mal die ganze Datei an, wer Lust hat, kann es sich ja anschauen und vielleicht noch Vorschläge geben
Bin noch ziemlich neu in Delphi, also habt Gnade ^^
Es ist eine List, hat zwei Units, eine mit OOP. Ihr könnt sie ruhig testen ^^
Angehängte Dateien
Dateityp: rar bubblesort_289.rar (230,3 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Bubblesort an Liste anpassen

  Alt 6. Jan 2007, 13:14
Hallo,

nach welcher Spalte willst denn Du sortieren?

Ansonsten ist auch TStringGrid.rows vom Typ TStrings
und sollte also auch von Deiner BubbleSort Routine verarbeitet werden können.
Es werden dann aber die ganzen Zeilen verglichen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Bubblesort an Liste anpassen

  Alt 6. Jan 2007, 13:29
Ich weiß nicht, ob du es irgendwann irgendwem mal glaubst, aber du musst halt den Bubblesort, der in aller Regel auf einer Array-Struktur arbeitet (so auch hier) so umbauen, dass er auf einer Listenstruktur arbeitet. Statt die Indizes des Arrays zu benutzen, musst du halt die Vorwärts/Rückwärtszeiger deiner Liste bemühen, um durch die Struktur zu laufen und Vertauschungen vorzunehmen. Das ist etwas hakelig, und mit Copy&Paste kommt man nicht viel weiter, weil eine sortierte Liste gegenüber einer unsortierten eigentlich keine Vorteile liefert. Deswegen werden die Dinger relativ selten sortiert, und man findet nicht so oft Code dafür
Oder du kloppst deine Liste in die Tonne und arbeitest mit den Strukturen, die die VCL so verwendet. Die heißen zwar auch TList o.ä., sind aber keine verketteten Strukturen wie deine Liste, sondern ähneln eher Arrays.

P.S.: Solltest du von den verlinkten Beiträgen nichts wissen, weil du doch jemand anderes bist: Tschuldigung .
  Mit Zitat antworten Zitat
wendel

Registriert seit: 6. Jan 2007
3 Beiträge
 
#4

Re: Bubblesort an Liste anpassen

  Alt 6. Jan 2007, 14:28
das ist leichter gesagt als getan ^^
aber ich nehme mir mal zeit heute. danke für den tipp, aber die liste werde ich nicht in die tonne treten ^^
mit den beiden posts habe ich im übrigens nichts zu tun, aber ich frage mich, woher er die gleiche liste hat Oo
die liegt nähmlich auf einem schulserver Oo

gruß
wendel
  Mit Zitat antworten Zitat
Thorben_K

Registriert seit: 22. Okt 2006
Ort: Darmstadt
105 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Bubblesort an Liste anpassen

  Alt 6. Jan 2007, 15:58
DA ich grade genau das selbe gesucht habe, bin ich auf das hier gestossen

Klick

vll hillft es dir ja
Thorben
  Mit Zitat antworten Zitat
wendel

Registriert seit: 6. Jan 2007
3 Beiträge
 
#6

Re: Bubblesort an Liste anpassen

  Alt 6. Jan 2007, 16:06
Hey vielen Dank, dass ist sehr hilfreich
dieser thread könnte in open source evt. verschoben werden, ist ja praktisch fertig.
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:23 Uhr.
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