- ベストアンサー
配列の添え字が小数だとどうなる?
ある書籍の検索アルゴリズムの2分検索の説明で、下記のような例が示されていました。 (これはその例を私がプログラム化したのもので、書籍からの転写ではありません。) そこで疑問なんですが、このプログラムは確かに動作こそしますが、 ループの中の$middleは小数になりますよね。 添え字が小数になる事は、正しい配列の処理といえるのでしょうか? 小数に対して、丸めるなどの処理を加えるべきなのでしょうか? よろしくお願いします。 ------------------------------------------------------------ 「$arrayの中から、$xを検索します」 $array = array(1,2,3,4,5,7,10,12); $x = 10; $low = 1; $high = count($array); $is_exist = false; while( $low <= $high and $is_exist == false ) { $middle = ( $low+$high )/2; if( $array[$middle] == $x ) { $is_exist = true; } else if ( $array[$middle] < $x ) { $low = $middle+1; } else if ( $array[$middle] > $x ) { $high = $middle-1; } } if ($is_exist) { echo "true"; } else { echo "false"; }
- みんなの回答 (2)
- 専門家の回答
お礼
ありがとうございます。