Startseite
Downloads
Lexikon
Sonstiges
Links
Kontakt
Gästebuch
Statistics
Disclaimer
Syntax
found = BiSearch( searchArg ) [;]
Beschreibung
Diese interne REXX-Funktion sucht eine sortierte Liste nach dem als Aufrufparameter angegebenen Satz durch.
Aufrufparameter
Parameter
Beschreibung
searchArg
Gesuchter Listensatz
Standardwerte
keine
Rückgabewerte
Name/Wert
Bedeutung
found
Index der Stemvariablen, die dem gesuchten Satz gleich ist.
0
Eine Null, wenn kein Satz gefunden wurde.
Bemerkungen
Eine Liste ist eine durchnumerierte Stem-Variable mit der Anzahl der Sätze in der Stem-Variablen mit dem Index 0.
Gesucht wird der volle Inhalt der Stem-Variablen (Satz).
In dieser Beispielimplementierung ist die Liste in der Stem-Variablen mit dem Stamm-Namen stem. abgespeichert. Dieser Name wurde durch die Anweisung Expose an die Prozedur Übergeben.
Es wird der Index der ersten gefundenen Stmvwariablen zurück gegeben. Es kann allerdings weitere Variablen geben, die den Suchkriterien entsprechen

Sourcecode

/*============( Binary search )==============*/
BiSearch: Procedure Expose stem.
Parse Arg value /* Search value */

found = 0    /* Index of the found Item */
bottom = 1   /* Index of the first Item */
top = stem.0 /* Index of the last Item  */

Do While found = 0 & top >= bottom
  mean = (bottom + top) % 2
  If value == stem.mean Then found = mean
  Else If value < stem.mean Then top = mean - 1
  Else bottom = mean + 1
End

Return found
/*** End BiSearch ***/

Beispiel 1

stem. = "Z"
stem.0 = 10
stem.1 = "/* REXX */"
found = BiSearch( "/* REXX */" )
Say found

Ergebnis 1

1

Beispiel 2

stem. = "Z"
stem.0 = 20
stem.1 = "/* REXX */"
found = BiSearch( "REXX" )
Say found

Ergebnis 2

0
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:21:32.
Jakoxx Logo