BSEARCHQQ

実行時関数:指定した要素に対してソートされた 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 が返されます。

検索を行う前に,配列は昇順でソートされていなければなりません。


警告:配列の位置と検索する要素は,両方とも LOC を使ってアドレスで渡されなければなりません。これは Fortran 型検証を無効にするため,lengthsize 引数が正しく,size が検索する要素と検索される配列と同じであることを確認しなければなりません。

不正な引数を渡すと,BSEARCHQQ はメモリーをランダムに検索しようとします。検索しようとするメモリーが現在のプロセスに割り当てられている場合,そのメモリーが検索されます。検索しようとするメモリーが現在のプロセスに割り当てられていない場合,オペレーティング・システムが介在して,プログラムを中断し,一般保護違反のメッセージを受け取ります。


互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

LOC, SORTQQ

	USE DFLIB
	INTEGER(4) array(10), length
	INTEGER(4) result, target
	length = SIZE(array)
	...
	result = BSEARCHQQ(LOC(target),LOC(array),length,SRT$INTEGER4)