Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Sortierverfahren (https://www.delphipraxis.net/89633-sortierverfahren.html)

Delphie-Maus 3. Apr 2007 12:34


Sortierverfahren
 
Hallöchen

hab ein kleines Problem: Bin nicht besonders bewandert was Delphie angeht und muss aber für Info ein Sortierverfahren mit Delphie entwickeln. Ich weiß wirklich nicht, wie ich da anfangen soll. Kann mir jemand helfen???

Lg :wiejetzt:

s.h.a.r.k 3. Apr 2007 12:38

Re: Sortierverfahren
 
Wenn ich du wäre, dann würde ich mich mal bei Wikipedia schlau machen, was es überhaupt gibt und wo die Unterschiede liegen. Spontan fallen mir die folgenden ein (die Liste ist natürlich nicht zu 100% vollständig):

- Bubblesort
- Quicksort
- Mergesort
- Heapsort
- ...


Schau mal hier

alcaeus 3. Apr 2007 12:40

Re: Sortierverfahren
 
Hallo,

Daniel hat vor einiger Zeit ein Tutorial zu Sortieralgorithmen geschrieben: SortierAlgorithmen I & II

Greetz
alcaeus

alzaimar 3. Apr 2007 13:29

Re: Sortierverfahren
 
Und eine wirklich nette (alte) Seite mit Sortieralgorithmen in Pseudocode gibt es hier

Delphie-Maus 3. Apr 2007 22:53

Re: Sortierverfahren
 
Dankeschön für die schnellen Antworten. :hello:
Zu dem mit Wikipedia: Jo, das war so mit meine erste Adresse, leider sind alle anderen aus meinem Kurs genauso schlau und wenn ich dann auch noch die selbe Tabelle habe, wie die 20 anderen, wäre das in meinen Augen irgendwie blöd also wollte ich mir anders helfen.
Ja, also da sind schonmal viele gute Sachen dabei!!
Dann hab ich noch eine Frage: Wonach beurteilt man die Leistungsfähigkeit der Verfahren? Sind das die Landau-Symbole?? Kann man da noch irgendwas genauer zu sagen???
Und wenn ich da jetzt mein eigenes Sortierverfahren programmiere, wie soll da überhaupt das Feld aussehen?? Klingt sicher voll dämlich, aber was soll da rein?? Edit-Fenster? Ein Memo?? Was soll da alles rein???

Dürften für euch Experten keine schweren Fragen sein... hoffe, ihr helft mir... is mir auch überaus peinlich, dass ich das nich weiß! :oops:

s.h.a.r.k 3. Apr 2007 23:14

Re: Sortierverfahren
 
Also ein Sortieralgorithmus macht seine Laufzeit aus -> siehe das O-Notation.

Wie meinst du genau mit "was solls da rein"? Die meisten Beispiel für Sortieralgorithmen sind für ein Array an Zahlen. Allerdings kann man mit meist wenigen Änderungen im Code den Alg. auch auf Strings oder andere Objekte anwenden.
Du könntest es z.B. wie folgt machen: Gibt dem User ein Memo vor und lass Ihn pro Zeile eine Zahl eingeben. Daneben gibts du sie sortiere Reihenfolge aus. Zudem brauchst du auch noch eine ComboBox (oder auch Alternativen dazu) um den gewünschten Algorithmus auszuwählen und einen Start- bzw. Stop-Button. Ein weiteres Feature, was sehr interessant sein sollte: Die Zeitmessung -> siehe hierzu GetTickCount.

Delphie-Maus 5. Apr 2007 12:56

Re: Sortierverfahren
 
Ja du hast mir die Frage "was soll da rein?" schon richtig beantwortet. Also ein Memo und Buttons und sone Combobox. Trotzdem wird die Sache komplizierter als ich dachte. Von Arrays hab ich zwar schon gehört, damit haben wir auch schon gearbeitet aber was das nun genau is, weiß ich nicht.
Naja, ich werd mal versuchen, irgendein Programm hinzuzimmern... wird sicher ne riesen Fehlerleiste... :|

Nuclear-Ping 5. Apr 2007 15:42

Re: Sortierverfahren
 
Vielleicht ist das was für dich: http://www.az2000.de/projects/coding_for_dummies

Delphie-Maus 5. Apr 2007 18:16

Re: Sortierverfahren
 
ja danke ein paar sachen sind mir davon schon bekannt...
is ja nich so, dass ich gar nüx kann, aber das was ich schon gelesen hatte, erschien mir nicht so leicht. ich hab noch etwas mehr als ne woche zeit, also setz ich mich da mal dran!
danke für eure hilfe... :coder2:

Delphie-Maus 15. Apr 2007 19:46

Re: Sortierverfahren
 
Ich hab nun so ein Programm geschrieben, aber es läuft noch nicht, ich weiß nicht, wo ich "N" deklarieren soll!?? :?:

Nikolas 15. Apr 2007 19:50

Re: Sortierverfahren
 
Es würde helfen, wenn du hier den betreffenden Code zeigen könntest. Sonst wirds schwierig.

Delphie-Maus 15. Apr 2007 20:01

Re: Sortierverfahren
 
also ich hab jetzt hier irgendwas gemacht, weiß es selbst nicht so ganz...hab aus internet und meinem hefter irgendwas zusammengemotscht. bitte helft mir!




Procedure MergeSort( l, r : Integer );
var i, j, k, m : Integer;
N : real;
feld2Ddyn: array of array of integer;
Begin
If (l < r) Then
Begin
m:= (r+l) div 2;

MergeSort( l, m );
MergeSort( m+1, r );

For i:= l To m Do N[i]:= feld2Ddyn[i];
i:= l;

For j:= m+1 To r Do N[r+m+1-j]:= feld2Ddyn[j];
j:= r;

For k:= l To r Do
Begin
If (N[i] < N[j]) Then
Begin
feld2Ddyn[k]:= N[i];
inc( i );
End
Else
Begin
feld2Ddyn[k]:= N[j];
dec( j );
End;
End;
End;
End;

Delphie-Maus 15. Apr 2007 20:14

Re: Sortierverfahren
 
ich weiß nichtmal ob es eine rolle spielt welches verfahren man benutzt. ich soll einfach zahlen eingeben und diese ordnen lassen. kann man dazu überhaupt mergesort verwenden??


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:05 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