BSEARCH(3)

名称
bsearch - ソート済みの表に対するバイナリ探索

ライブラリ
libc

書式
#include <stdlib.h> void * bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar) (const void *, const void *))

解説
bsearch() 関数は、最初のメンバが base によって示されている nmemb 個のオブジェクトの配列の中から key が指すオブジェクトに一致するメンバを探します。 配列の各メンバのサイズは size で指定されます。

配列の内容は、 compar が参照する比較関数に従って昇順にソートされた状態でなければなりません。 compar ルーチンは key オブジェクト と配列メンバを指す 2 つの引数をこの順序でとることが期待されており、 key オブジェクトが配列メンバより小さい、一致する、またはより大きいことが 検出された場合、それぞれ 0 より小さい整数、0、0 より大きい整数を返します。

戻り値
bsearch() 関数は、配列の一致したメンバへのポインタを返します。 一致したメンバが見つからなかった場合は、ヌルポインタを返します。 もし 2 つのメンバが比較の対象として等しい場合、 どちらのメンバが一致したかは不定となります。

関連項目
db(3), lsearch(3), qsort(3)

規格
bsearch() 関数は isoC に適合しています。