![]() |
Array sortieren
Hi,
ich weis dass es zum sortieren schon in paar beiträge gibt, aber aus denen werd ich nicht ganz schlau ;-) ich habe ein array of integer, das ich der größe nach sortieren will (beginnend mit der kleinsten). welcher algo ist dazu am besten geieignet bzw. am schnellsten (BubbleSort, QuickSort, MergeSort... wer soll sich da noch auskennen :? ) oder hat das shon jemand gecoded? *MFG* |
Re: Array sortieren
Da gibts doch in der Tut-Sparte nen tollen Beitrag von Daniel über Sortier-Algorhytmen (schreibt man das so? [edit] Nein, es heißt Algorithmen :wall:. So stehts zuumindest im Titel vom Tut. [/edit])
|
Re: Array sortieren
Kommt ganz drauf an, wie viele Zahlen du sortieren willst, wenn's nur ein paar 10 Stück sind, ist der Bubblesort, schnell und einfach implementiert. Wenn's größer wird kannst du dann den Quicksort nehmen, der ist zwar etwas schwieriger, geht dafür aber recht schnell.
|
Re: Array sortieren
du meinst sicher dieses tutorial_
![]() allerdings check ich nicht so recht wo da die daten herkommen. der verwendet ja kein einziges array :gruebel: die datenmenge ist sehr klein, mehr als 30 nicht. also werd ich wohl bubblesort verwenden. aber woher in dem tut die daten stammen check ich nciht! |
Re: Array sortieren
Zitat:
|
Re: Array sortieren
ah. thx!
|
Re: Array sortieren
hm hab das jetzt so, aber da tut sich nix :gruebel:
Delphi-Quellcode:
vermtlich ein verständnisfehler...
procedure BubbleSort(arrArray: array of integer);
var i,j, h: Integer; begin for i := Length(arrArray) downto 1 do for j := 1 to i do if (arrArray[j-1] > arrArray[j]) then begin //SwapValues( j-1, j ); h := arrArray[j-1]; arrArray[j-1] := arrArray[j]; arrArray[j] := h; end; end; aufrufen tu ich das ganze halt so: BubbleSort(arrName) ?? |
Re: Array sortieren
Setz mal den Parameter var ein. Das sollte helfen. Sowas hatte ich bei meiner BWINF Aufgabe und bin fast dran verzweifelt, weil nichts passiert ist :wall:
|
Re: Array sortieren
:wall: es geht...
brauchs übrigens auch für bwinf ;-) |
Re: Array sortieren
bubblesort ist einer der langsamsten Sortieralgorithmen (O(n²)). Da solltest du vielleicht einen effektiveren nehmen, Shell-Sort zum beispiel ist auch sehr einfach zu verstehen.
Oder wenn du es richtig schnell haben willst, dann halt Quicksort ;-) [Werbung]Schau dir unter OpenSource mal mein Vergleichsprogramm für Sortieralgorithmen an [/Werbung] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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