Startseite
Downloads
Lexikon
Sonstiges
Links
Kontakt
Gästebuch
Statistics
Disclaimer
Name
Syntax
x = QSort( [fromX][, toX] ) [;]
Beschreibung
Implementierung des Quick-Sort-Algorithmus als interne REXX-Prozedur. Sortiert wird die Stem-Variable deren Adresse über die REXX-Anweisung Expose an die Prozedur übergeben wurde.
Aufrufparameter
Parameter
Beschreibung
fromX
Anfangsindex der Stem-Variablen. Ab diesem Index wird die Stem-Variable sortiert.
toX
Endindex der Stem-Variablen. Bis zu diesem Index wird die Stem-Variable sortiert.
Standardwerte
Parameter
Zugewiesene Standardwert
fromX
1
toX
stem.0
Rückgabewerte
keine
Bemerkungen
Die Funktion sortiert die ganzen Sätze der Stem-Variablen.
Die Stem-Variable stem.0 muss die Anzahl der Sätze in den Stem-Variablen stem. beinhalten, wenn der Aufrufparameter toX nicht verwendet wird.
Diese Implementierung sortiert in der aufsteigenden Reihenfolge - kleineren Elemente zuerst.

Sourcecode

/*=====================( Quick sort )======================*/
QSort: Procedure Expose stem.
Arg fromX, toX

/*--------------------( Standardwerte )--------------------*/
If Datatype( fromX, "NUM" ) = 0 | fromX < 1 Then fromX = 1
If Datatype( toX, "NUM" ) = 0 | toX > stem.0 Then toX = stem.0

If toX > fromX Then Do
  i = fromX
  j = toX
  k = (fromX + toX) % 2
  x = stem.k
  Do Until i > j
    Do While stem.i >> x; i = i + 1; End
    Do While stem.j << x; j = j - 1; End
    If i <= j Then Do
      xchg = stem.i
      stem.i = stem.j
      stem.j = xchg
      i = i + 1
      j = j - 1
    End
  End
  y = QSort( fromX, j )
  y = QSort( i, toX )
End

Return toX - fromX
/*** End QSort ***/

Beispiel 1

Call QSort

Ergebnis 1

Sortiert vollständig (von 1 bis stem.0) die Variable stem.

Beispiel 2

x = QSort( 1, stem.0 )

Ergebnis 2

Sortiert vollständig (von 1 bis stem.0) die Variable stem.
Your privacy: This web site has no cookies, no advertising and does not provide access data to anyone for any reason.
Copyright © Janosch R. Kowalczyk 1999, 2010. All rights reserved.
Most recent revision on 25 Feb 2010 (56) - 13:22:47.
Jakoxx Logo