Re: Bubble-Sort
also nur als info an alle:
das programm läuft ohne probleme... @schaedel & minz: eure einwände erscheinen mir als logisch...aber warum läuft das programm dann ohne probleme...hilfe wird z.b. 100% richtig sortiert... außerdem gibt es ja 2 for schleifen also weiß ich jetzt nicht genau worauf ihr hinaus wollt,,, wie würdet ihr es denn schreiben? |
Re: Bubble-Sort
Delphi-Quellcode:
for j:=anzahl downto 1 do
begin for k:=1 to j do begin if (word2[k-1]>word2[k]) then vertauschen(word2[k-1], word2[k]); end; end; auch auf die Gefahr hin das ich mich unbeliebt mache, aber wenn k=1 ist wird word2[0] mit word2[1] verglichen -> da kann nicht gescheites bei herauskommen da in word[0] die Längeinformation des Strings steht.
Delphi-Quellcode:
Hoffe hab' mich nicht zu sehr verhauen.
for j:= 1 to anzahl -1 do
for k:=j+1 to anzahl do if word2[k] > word2[j] then vertausche(word2[k],word2[j]) Grüße Klaus |
Re: Bubble-Sort
okey klaus...aber dann füg doch mal den code bei dir in delphi ein und teste ihn...bei mir mach er bei der vertauschung keinen fehler...
|
Re: Bubble-Sort
Zitat:
|
Re: Bubble-Sort
Zitat:
Und eben diese Variable wird zum Schluss wieder dem Edit zugewiesen. Ist meines Erachtens absolut korrekt. |
Re: Bubble-Sort
gut funktioniert!
.. aber auch wenn Du k von 2 starten läßt und funktioniert nicht korrekt wenn Du auf word2[k-1] < word2[k] vergleichst. Das Problem tritt auch nur dann auf wenn Du mit Strings arbeitest. Bei einem Array kannst Du von 0 an vergleichen, bei einem String nicht. Grüße Klaus |
Re: Bubble-Sort
Leute, Leute: Da beherrscht ihr Quicksort im Schlaf, könnt Bayerbaumsuchverfahren, A*-Pathinfinding-Algorithmen und Knuth-Morris-Pratt-Grahpen rückwärts aufsagen, aber am guten alten Babelsort beisst man sich doch wirklich die Zähne aus. Ich habe auch stundenlang probiert, aufgegeben, meine Rente eingereicht und schließlich den Source auf www.sortieralgorithmen.de genommen und in mühevoller Kleinarbeit in Delphi übersetzt. Das Team hat wochenlang geschuftet und jedes Byte wurde von unserem 50-köpfigen Spezialistenteam handoptimiert und hochglanzpoliert.
Nun ist es aber soweit: Wir präsentieren - Babelsort 1.0!
Delphi-Quellcode:
Ach ja, das mit dem Vertauschen heisst 'Ringtauschverfahren'. Doch, es gibt einen Namen für sowas. Es heisst deshalb so, weil der Austausch ringförmig geht: h <-a <- b <- h.
procedure BubbleSort (Var s: String);
Var j,k, n: Integer; begin n := Length (s); for j:= n downto 2 do for k := 1 to j-1 do if s[k] > s[k+1] then vertausche(s[k], s[k+1]) end; |
Re: Bubble-Sort
jo wenn das so funktioniert muss dat wohl richtig sein :wink:
@netscanner wegen den zwei schleifen: du hast gesagt du verstehst das ganze ab der for-schleife nicht wirklich also hab ich dir geschrieben, wie das ganze funktionieren soll. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01: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