Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sortiermöglichkeiten ?! (https://www.delphipraxis.net/12950-sortiermoeglichkeiten.html)

Trouble_Maker 7. Dez 2003 17:14


Sortiermöglichkeiten ?!
 
Hiho alle,
so ich melde mich seit längerem mal wieder. Sorry aber hab zuviel mit der Schule zu tun!
Zu meiner Frage:
Und zwar schreiben wir diese Woche eine Informatik Klausur unter anderem über das Sortieren in Delphi!
Dazu haben wir den Bubble Sort und den liear Sort kennen gelernt! (auch den Quick Sort angerissen!)
-
Wäre jemand von euch so nett und könnte mir ausführlich oder weniger ausführlich die 2 (3) Sortiermöglichkeiten genauer beschreiben. Also was die Unterschiede zwischen denen sind und welche Schleifen man am besten einsetzt (if, while etc.)

Es wär echt sau nett, wenn mir das jemand erklären könnte, da ich das nicht so richtig verstanden habe!

bis dann

Trouble_Maker


PS: Das Sortieren müssen wir dann auch in eine mit Pointer gesteuerte Datenbank einbauen

Christian Seehase 7. Dez 2003 17:28

Re: Sortiermöglichkeiten ?!
 
Moin Trouble Maker,

hast Du schon mal in der Code Library bzw. in den Tutorials nachgeschaut?
Dort sind diverse Sortierverfahren beschrieben.

Trouble_Maker 7. Dez 2003 18:15

Re: Sortiermöglichkeiten ?!
 
Hiho
Oh cool danke. Hab ich garnicht dran gedacht! Doch leider habe ich die Sortiermöglichkeit "linear sort" nicht gefunden! Ist die dabei und hat nur einen anderen Namen ?!?

thx

Trouble_Maker

Ryan 7. Dez 2003 20:37

Re: Sortiermöglichkeiten ?!
 
Beim linearen Sortieren fängt der Sortierer unten an und läuft mit jedem Schritt eins weiter nach oben. Bei jedem Schritt schiebt er die derzeitige Zahl so lange nach unten, bis die nächste Zahl weiter unten kleiner/größer ist. Hört sich etwas seltsam an - ich demonstrier es an einem Beispiel:

Das ist die Liste: 9
1
3
7
4
2
6

Der erste Schritt betrifft die zweite Zahl von unten den 2er. Der wird so lange nach unten geschoben, bis er auf eine kleiner Zahl stößt - er wird unter den 6er geschoben:

9
1
3
7
4
6
2

Jetzt kommt die nächste Zahl dran: Die dritte von unten, also der 4er. Der wird unter den 6er geschoben, weil die 4 ja kleiner ist, bleibt aber dann dort weil sie größer ist als die 2:

9
1
3
7
6
4
2

Danach 9137642 - 9176432 - 9764321 - 9764321 - und das wars dann.

In meinem Quelltext sieht das so aus:




for i:= 1 to length(speicher) do
begin
hilf := speicher[i];
j:= i-1;
repeat
if hilf < speicher[j] then
begin
speicher[j+1] := speicher[j];
j := j-1;
end;
until hilf >= speicher[j];
speicher[j+1] := hilf;
end;

Kurze Erleuterung der Begriffe:

i,j,hilf: integer
speicher: der zu sortierende Array (ein dynamischer, deshalb fängt er bei 0 an)




Ich hoffe das hilft dir, hab dieses Jahr auch viel zu tun für Informatik ...viel Glück

Trouble_Maker 8. Dez 2003 14:24

Re: Sortiermöglichkeiten ?!
 
Hi
@ Ryan: Vielen Dank für deinen Beitrag! Hat mir echt geholfen!

Aber eine Frage habe ich noch: Welche Methode von schleifen ist denn für das Sortieren am sinnvoll´sten ?!?
Oder ist das im Prinzip egal? (While, if-then, repeat-until)

Wenn ich noch Fragen habe melde ich mich nochmal!


cu Trouble_Maker

Thunderchild 8. Dez 2003 15:00

Re: Sortiermöglichkeiten ?!
 
Zitat:

Zitat von Trouble_Maker
Und zwar schreiben wir diese Woche eine Informatik Klausur unter anderem über das Sortieren in Delphi!

Auf eine Eurer Schulen möcht ich gegangen sein! Wir haben Pascal gemacht, simpelstes Pascal, zum Thema HTML gab's ne Stunde Frontpage :kotz: und als ich weg war, haben die OBERON :kotz: eingeführt. Die Armen Schw.. äh, Schüler.

Ryan 8. Dez 2003 17:48

Re: Sortiermöglichkeiten ?!
 
Ich würde mal sagen eine for - Schleife, aber ich glaube nicht, dass das sonderlich wichtig ist:

Immerhin wird diese Sortiermethode nicht mehr wirklich eingesetzt.

Trouble_Maker 9. Dez 2003 13:51

Re: Sortiermöglichkeiten ?!
 
Zitat:

Zitat von Ryan
Immerhin wird diese Sortiermethode nicht mehr wirklich eingesetzt.

Wieso wird diese Sortier-Methode denn nicht mehr genutzt ? Und was wird stattdessen denn benutzt ?!?

danke nochmal


cu Trouble_Maker

Trouble_Maker 9. Dez 2003 16:24

Re: Sortiermöglichkeiten ?!
 
Hiho alle...

1. wäre nett, wenn mir jemand meine Frage aus meinem letzten Thread beantworten könnte!

2. habe noch eine Frage: (ich weiss, dass man eigentlich zu jeder Frage nen neuen Post machen soll, aber es passt nunmal hier rein!)

Es fallen die Begriffe "Sortieren durch direkte Auswahl" und "Sortieren durch direktes Einfügen"!

Nun möchte ich wissen, mit welchem "Fachbegriff" man diese 2 Bezeichnet!
Also z.B.: -Selection Sort; - Insertion Sort; - Bubble Sort; - Shell Sort

dass diese beiden Sortiermöglichkeiten nicht Bubble-Sort sind weiss ich! Aber wie heissen die mit Fachbegriff ?!?

thx


cu Trouble_Maker

Niels 9. Dez 2003 17:38

Re: Sortiermöglichkeiten ?!
 
Hoi.

Also erstmal Sortieren durch direkte Auswahl ist Selection Sort (englisch Auswahl := Selection) und Sortieren durch direktes Einfügen ist Insertion Sort (englisch Einfügen := Insertion) :thuimb:

Dazu warum deine Sortiermethode nicht mehr genutzt wird...im Schulunterricht isses relativ egal, aber in großen Datensätzen sollte das schon etwas schneller gehn und da wird dann eben Merge Sort oder Quicksort benutzt. Ich bevorzuge Merge Sort. Es ist zwar meist etwas langsamer als Quicksort, aber es braucht immer gleichviele Vergleiche, wodurch die Rechenzeit für ein n-Elemente-Feld egal wie die Inhalte sortiert sind immer gleich groß ist. Bei Quicksort kanns im schlechtesten Fall ganz schön lang dauern (hab jetzt leider keine Zeiten im Kopf...kannst ja mal bei google suchen)

MfG Niels


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.
Seite 1 von 2  1 2      

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