トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 |
配列から要素をサーチする。 |
|
ヘッダ | ||
形式 |
void* bsearch(const void* key, void* base, size_t count, size_t size, int (*compar)(const void* key, const void* value)); |
|
引数 |
key |
発見したい値へのポインタ。 |
base |
サーチ対象の配列を指すポインタ。 この配列は、昇順にソートされていなければならない。 |
count |
サーチ対象の配列の要素数。 |
|
size |
要素1つの大きさ。 |
|
compar |
要素の大小関係を比較する関数(以下、比較用関数)へのポインタ。 |
|
戻り値 |
引数key が指し示す値と一致する要素があれば、その要素へのポインタを返す。なければヌルポインタが返される。一致する要素が複数個ある場合、どの要素へのポインタが返されるかは、未規定である。 |
|
詳細 |
引数base が指す配列から目的の値をサーチする。一般に、二分探索(アルゴリズムとデータ構造編【探索】第4章)によって実装されるため、サーチ対象の配列はソート済みであることが要求される。またソート順序は、昇順でなければならない。ソートはたとえば、qsort関数で行える。 |
|
注意 |
比較用関数の中で、サーチ対象の配列を書き換えてはならない。 |
|
使用例 |
実行結果:
|
|
関連 |
事前に配列を昇順にソートしておかなければならないが、その作業には qsort関数が利用できる。 |
|
解説章 |
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place
管理者に紹介料が支払われています。
{
の直後と、}
の直前に空白を入れない)()
の前後の空白の空け方)(
の直後、)
の直前に空白を入れない)return 0;
を削除(C言語編全体でのコードの統一)「NULL」という表記を「ヌルポインタ」に修正。
全体的に記述を見直して修正。
「サイズ」という表記について表現を統一。 型のサイズ(バイト数)を表しているところは「大きさ」、要素数を表しているところは「要素数」。
新規作成。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |