Autor |
Beitrag |
-delphin-
      
Beiträge: 200
|
Verfasst: Fr 03.06.05 13:06
Also, ich würde ganz gerne 5 Labels, die grundsätzlich Zahlen von 1-6 sind, der Größe nach ordnen.
Die Labels heißen L1 - L6. Nur blöderweise verstehe ich den BubbleSort Algorithmus nicht, vielleicht kann den mir jemand mal erklären, wäre sehr nett. Ich weiß, wie der BubbleSort funktioniert, hab schon viele Threads hier und bei Wikipedia etc. gelesen, aber wirklich anwenden kann ich ihn nicht.
Thx im Vorraus,
Delphin Moderiert von raziel: Topic aus Sonstiges verschoben am Fr 03.06.2005 um 14:47
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Fr 03.06.05 13:21
Moin!
[Delphi]N hat folgendes geschrieben: | Nur blöderweise verstehe ich den BubbleSort Algorithmus nicht, vielleicht kann den mir jemand mal erklären, wäre sehr nett. Ich weiß, wie der BubbleSort funktioniert, hab schon viele Threads hier und bei Wikipedia etc. gelesen, aber wirklich anwenden kann ich ihn nicht. |
Dann hast du den Algorithmus auch nicht verstanden  , guckst du nochmal hier.
Wenn du es damit auch nicht hinkriegst, dann zeig mal deinen Code, sonst kommen wir nicht weiter.
cu
Narses
|
|
-delphin- 
      
Beiträge: 200
|
Verfasst: Fr 03.06.05 13:46
Hm ich hab das jetzt 2mal gelesen, aber irgendwie verstehe ich es nicht so wirklich.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure BubbleSort(Items: TLabels); var done: boolean; i, n: integer; Dummy: string; begin n := Items.Count;
repeat done := true; for i := 0 to n 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; |
so ist mein Code bisher.
Zuerst habe ich Variablen festgelegt, dann die Labels in Items zählen lassen (Count) und dann von i= 0 bis n eine schleife durchlaufen lassen und die dann tauschen lassen mithilfe der Variablen Dummy.
Funktioniert aber alles nicht..
Nochmal ich habe 5 Labels, L1, L2, L3, L4, L5.
Wenn ich mithilfe des Buttons BWuerfeln gewürfelt habe, habe ich z.b. in der Reihenfolge 3-6-5-5-2 und das soll mir in einem Editfeld (EAusgabe) in der sortieren Reihenfolge ausgegeben werden.
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Fr 03.06.05 13:52
Moin!
Zwei Sachen noch:
1. Wie ist die Deklaration von Items[]?
2. Du sagst, du hast den Thread 2x gelesen (OK, und nicht verstanden; was genau?), aber hast noch nicht bemerkt, dass BubbleSort 2 Schleifen hat...
cu
Narses
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Fr 03.06.05 13:55
Narses hat folgendes geschrieben: | aber hast noch nicht bemerkt, dass BubbleSort 2 Schleifen hat... |
Ihr/Sein Quelltext hat doch 2 Schleifen. Einmal eine for-to-do-Schleife und einmal eine repeat-until-Schleife.
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Fr 03.06.05 13:57
Ahhh, oh Gott, ich bin blind...  Stimmt, sorry.
cu
Narses
//EDIT: Und schon wieder muss ich mich korrigieren... man sollte nicht beim Essen im Forum sein...
Items ist als TLabels deklariert. Was also ist TLabels, mein D7pro kennt´s nicht.
|
|
-delphin- 
      
Beiträge: 200
|
Verfasst: Fr 03.06.05 14:09
TLabel ist doch die Bezeichnung für ein Label oder? oO
ich weiß gar nicht, wie Items deklariert werden sollen...
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Fr 03.06.05 14:17
Moin!
Tu doch mal den Code, der deine Sortierprozedur aufruft auch hier rein, vielleicht klärt das ja.
cu
Narses
|
|
harryp
      
Beiträge: 52
Erhaltene Danke: 9
Win 8.1
Delphi 7, XE8
|
Verfasst: Fr 03.06.05 18:48
kurze Zwischenfrage : Warum muss es Bubble-Sort sein ??? Gibt viel effektivere und schnellere Sortieralgorithmen... 
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 03.06.05 18:54
Ich denke, wenn man 5 Zahlen sortieren muss, die die Werte 1 bis 6 haben, um eine Auswertung für Kniffel zu machen, dann reicht Bubblesort.
_________________ We are, we were and will not be.
|
|
harryp
      
Beiträge: 52
Erhaltene Danke: 9
Win 8.1
Delphi 7, XE8
|
Verfasst: Sa 04.06.05 12:53
nagut, hast recht. für 5 zahlen von 1 bis 6 wär's wirklich blöd mit quicksort oder so zu kommen...
|
|
-delphin- 
      
Beiträge: 200
|
Verfasst: Sa 04.06.05 17:41
der code, der die sortierprozedur aufruft ist einfach was mit Button1Click und dann BubbleSort (Items: TLabel) und das wars^^
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: So 05.06.05 03:13
Moin!
Hab mich möglicherweise nicht klar genug ausgedrückt: Ich kann mit TLabels nichts anfangen, also welche Delphi-Version benutzt du, wie ist TLabels deklariert und am besten zeigst du den gesamten Code, aus dem Stück Sortierprozedur werde ich nicht schlau, was den Fehler angeht.
cu
Narses
|
|
harryp
      
Beiträge: 52
Erhaltene Danke: 9
Win 8.1
Delphi 7, XE8
|
Verfasst: So 05.06.05 21:21
Also entweder steh ich jetzt auf dem Schlauch, aber wer programmiert ein Delphi-Programm, in welchem man mit Bubble-Sort sortiert, hat aber keine Ahnung was ein Label is ?!
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: So 05.06.05 23:01
Moin!
Man(n) Lese und Schreibe, in dieser Reihenfolge!
Da steht nicht TLabel, sondern TLabel s. Und damit kann ich nun mal nix anfangen.
Kannst du? Dann erklär´s.
cu
Narses
|
|
harryp
      
Beiträge: 52
Erhaltene Danke: 9
Win 8.1
Delphi 7, XE8
|
Verfasst: Mo 06.06.05 17:45
ich bin der meinung, dass er sich einfach verschrieben hat. kann mich natürlich auch irren, aber sollte bestimmt bloß "tlabel" heißen.
|
|