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 Array sortieren (https://www.delphipraxis.net/29968-array-sortieren.html)

Meflin 17. Sep 2004 15:54


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*

Ultimator 17. Sep 2004 15:59

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])

Nikolas 17. Sep 2004 15:59

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.

Meflin 17. Sep 2004 16:03

Re: Array sortieren
 
du meinst sicher dieses tutorial_ http://www.delphipraxis.net/internal_redirect.php?t=344
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!

Nikolas 17. Sep 2004 16:05

Re: Array sortieren
 
Zitat:

(...) Zudem unterstelle ich als Datenfeld ein Array, welches von 1..N indiziert ist. (...)
DATA ist wohl als array of Integer (o.ä.) deklariert

Meflin 17. Sep 2004 16:06

Re: Array sortieren
 
ah. thx!

Meflin 17. Sep 2004 16:18

Re: Array sortieren
 
hm hab das jetzt so, aber da tut sich nix :gruebel:
Delphi-Quellcode:
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;
vermtlich ein verständnisfehler...
aufrufen tu ich das ganze halt so: BubbleSort(arrName)

??

Nikolas 17. Sep 2004 16:20

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:

Meflin 17. Sep 2004 16:21

Re: Array sortieren
 
:wall: es geht...
brauchs übrigens auch für bwinf ;-)

Alexander 17. Sep 2004 17:39

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.
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