Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Schreibtischtest quicksort (https://www.delphipraxis.net/141050-schreibtischtest-quicksort.html)

grumbeernils 1. Okt 2009 10:17


Schreibtischtest quicksort
 
Hallo,
wir sollen einen schreibtischtest von dieser implementierung durchführen:
Delphi-Quellcode:
unit UQuickSort;

interface

procedure QuickSort(var A: array of Integer);

implementation

procedure QuickSort(var A: array of Integer);

  procedure QSort(LoIndex, HiIndex: Integer);
  var
    Lo, Hi: Integer;
    Pivot: Integer;
    Swap: Integer;
  begin
    // Wähle stets das mittlere Element als Pivotelement.
    Pivot := A[(LoIndex + HiIndex) div 2];

    // Stelle die Ordnung bzgl. des Pivotelements her.
    Lo := LoIndex;
    Hi := HiIndex;
    repeat
      while A[Lo] < Pivot do Inc(Lo);
      while A[Hi] > Pivot do Dec(Hi);
      if Lo <= Hi then
      begin
        Swap := A[Lo];
        A[Lo] := A[Hi];
        A[Hi] := Swap;
        Inc(Lo);
        Dec(Hi);
      end;
    until Lo > Hi;

    // Gegebenenfalls linke Teilliste sortieren.
    if LoIndex < Hi then QSort(LoIndex, Hi);

    // Gegebenenfalls rechte Teilliste sortieren.
    if Lo < HiIndex then QSort(Lo, HiIndex);
  end;

begin
  QSort(Low(A), High(A));
end;

end.
die zahlen mit denen wir das durchführen sollen sind: A [ 17,5,2,11,1 ]
wie soll das funktionieren?

gruß

[edit=Sharky]Delphi-Tags eingefügt. Mfg, Sharky[/edit]

Klaus01 1. Okt 2009 10:29

Re: Schreibtischtest quicksort
 
.. was ist ein Schreibtischtest?

Grüße
Klaus

grumbeernils 1. Okt 2009 10:31

Re: Schreibtischtest quicksort
 
weiß ich ja selbst ned :wiejetzt: ......des is ja es problem

gruß

himitsu 1. Okt 2009 10:34

Re: Schreibtischtest quicksort
 
http://de.wikipedia.org/wiki/Schreibtischtest

Agares 1. Okt 2009 10:38

Re: Schreibtischtest quicksort
 
Ein Schreibtischtest ist eine Durchführung des Algorythmusses auf Zettel / Papier Basis...


Beispiel:

gegebene Zahlen 5 / 6 / 18 / 19

Absteigende Sortierung-->

Code:
  function qSort(a: integer; b : integer) : integer;
  begin
    result := a - b;
  end;
a = 5 , b = 6 , result = -1
a = 5 , b = 18 , result = -13
a = 5 , b = 19 , result = -14

.
.
.

aus so einem Wirrwar kann man dann folgern in welcher Reihenfolge die Elemente nachher in der Liste stehen.

mfg Agares

Sherlock 1. Okt 2009 12:04

Re: Schreibtischtest quicksort
 
Mach Dir lauter Zettel wo die einzelnen Zahlen drauf stehen und geh dann den Algorithmus durch.

Sherlock


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