Seite durchsuchen nach:
(powered by
FreeFind)
Bemerkung: Manche Browser haben offensichlich Probleme mit CSS. Für die richtige Darstellung dieser Seiten verwenden Sie am besten
Firefox,
Chrome oder
Opera.
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
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
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.