ArrayBsearch 関数
この関数は、1次元配列中の値を検索して、その要素のインデックス値を取得します。
昇順でソートされている配列のみしか処理が行われませんのでご注意ください。数値配列のソートは、ArraySort関数を使用します。
データ型と構成・戻り値
int ArrayBsearch(①,②,③,④,⑤);
戻り値は、検索して見つかった要素のインデックス値を返します。無い場合は、最も近い要素のインデックス値を返します。
引数 [5]
ArrayBsearch関数は 3個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | array[] | const | - | - | 検索用の数値配列。 |
② | value | 整数 or 実数 | - | - | 検索する値。 |
③ | count | int | - | WHOLE_ARRAY | 検索する要素数。「WHOLE_ARRAY」は配列全体を検索します。 |
④ | start | int | 0 | 検索する開始のインデックス番号。0は最初の要素から検索します。 | |
⑤ | direction | int | MODE_ASCEND | 検索方向。「MODE_ASCEND」は順方向、「MODE_DESCEND」は逆方向に検索します。 |
使用例
ArrayBsearch関数による配列中の数値検索
コード
// ArrayBsearch関数による配列中の数値検索
#property strict
void OnInit() {
int search = 22; // 検索する数値
int arr[5]={20,21,22,23,24}; // ソート済みの配列
Print("検索数値のインデックス値:",ArrayBsearch(arr, search));
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果
検索した数値のインデックス値が取得されます。