bsearch


整列済みの配列から値を探索します。

[所属]

標準ライブラリ

[指定形式]

#include <stdlib.h>

void __near * __far bsearch(const void __near *key, const void __near *base, size_t nmemb, size_t size, int (__far *compar)(const void __near *, const void __near *));

void __far * __far _COM_bsearch_f(const void __far *key, const void __far *base, size_t nmemb, size_t size, int (__far *compar)(const void __far *, const void __far *));

[戻り値]

keyと一致する配列の要素へのポインタを返します。一致する要素が複数ある場合,結果はその中で最初に見つかった要素を指します。keyと一致する要素が見つからなかった場合,nullポインタを返します。

[詳細説明]

バイナリ検索法により,baseから始まる配列の中で,keyと一致する要素を検索します。nmembは,配列の要素数です。sizeは,各要素のサイズです。

comparが指す比較関数は,keyオブジェクトへのポインタを第1引数とし,配列要素へのポインタを第2引数として呼び出されます。結果は,1番目の引数が2番目の引数よりも小さい場合は負,2つの引数が一致する場合はゼロ,1番目の引数が2番目の引数よりも大きい場合は正の整数を返します。配列は,compar(最後の引数)が指す比較関数に関し昇順で整列するようにしてください。