実行時関数:指定した要素に対してソートされた 1 次元配列の 2 進検索を行います。
モジュール:USE DFLIB
形式
result = BSEARCHQQ(adrkey,adrarray,length,size)
adrkey
(入力) 検索する要素を含む変数のアドレス (LOC で戻されます)。ia32 プロセッサーでは型 INTEGER(4),ia64 プロセッサーでは型 INTEGER(8) でなければなりません。
adrarray
(入力) 配列のアドレス (LOC で戻されます)。ia32 プロセッサーでは型 INTEGER(4),ia64 プロセッサーでは型 INTEGER(8) でなければなりません。
length
(入力) INTEGER(4)。配列の要素数。
size
(入力) INTEGER(4)。ソートする配列の種類を指定する 32,767 より小さい正の定数。\DF98\INCLUDE サブディレクトリの DFLIB.F90 で定義されている以下の定数を数値配列の型と種類として指定します。
定数 | 配列の型 |
---|---|
SRT$INTEGER1 | INTEGER(1) |
SRT$INTEGER2 | INTEGER(2) または等価 |
SRT$INTEGER4 | INTEGER(4) または等価 |
SRT$REAL4 | REAL(4) または等価 |
SRT$REAL8 | REAL(8) または等価 |
size に提供された値がシンボル定数でなく,32,767 より小さい場合,配列は要素毎に size 個の文字を持つ文字型配列であると仮定されます。
結果
結果の型は INTEGER(4) です。結果は,一致するエントリの配列指標です。エントリが見つからなかった場合,0 が返されます。
検索を行う前に,配列は昇順でソートされていなければなりません。
不正な引数を渡すと,BSEARCHQQ はメモリーをランダムに検索しようとします。検索しようとするメモリーが現在のプロセスに割り当てられている場合,そのメモリーが検索されます。検索しようとするメモリーが現在のプロセスに割り当てられていない場合,オペレーティング・システムが介在して,プログラムを中断し,一般保護違反のメッセージを受け取ります。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
例
USE DFLIB INTEGER(4) array(10), length INTEGER(4) result, target length = SIZE(array) ... result = BSEARCHQQ(LOC(target),LOC(array),length,SRT$INTEGER4)