- // $low と $high は整数でなければなりません
-
- function BinarySearch( $array, $key, $low, $high )
- {
- if( $low > $high ) // 終了ケース
- {
- return -1;
- }
-
- $middle = intval( ( $low+$high )/2 ); // 配列の中央を取得します
-
- if ( $array[$middle] == $key ) // 中央がキーの場合
- {
- return $middle;
- }
- elseif ( $key < $array[ $middle] ) // キーは左側のサブ配列にある可能性があります
- {
- return BinarySearch( $array, $key, $low, $middle-1 );
- }
-
- return BinarySearch( $array, $key, $middle+1、$high ); // 私たちのキーは正しいサブ配列にある可能性があります
- }
复制代码
|