PHPコードで書かれた2点検索プログラム
Jun 13, 2016 pm 01:22 PM
PHP コードで書かれた二分探索プログラム
<?php
function BinSearch($a,$low,$heigh,$key){
if($low > $heigh){
return null;
}else{
$mid = (int)($low+$heigh)/2;
$mid = ceil($mid);
// echo "a[] : ".$a[$mid]."<br/>";
// echo "key:".$key."<br/>";
if($key = = $a[$mid]){
return $mid;
echo $mid;
}elseif($a[$mid] < $key){
$low = $mid + 1 ;
BinSearch($a, $low, $heigh, $key);
}elseif ($a[$mid] > $key){
$heigh = $mid - 1 ;
BinSearch($a, $low, $heigh, $key);
}
return null;
}
}
$a = array(0,1,2,3 , 4,5,6,7,8,9);
$key = 3;
$result = BinSearch($a, 0, 9, $key);
echo "結果:"。 result."<br/>";
?>
期待した結果が得られない理由を教えてください。プログラムの何が問題なのでしょうか?
-----解決策---------
再帰呼び出しには戻り値はありません
- PHP コード
function BinSearch($a,$low,$heigh,$key){ if($low > $heig){ null を返します。 }それ以外{ $mid = (int)($low+$heigh)/2; $mid = ceil($mid); if($key == $a[$mid]){ $mid を返します。 エコー $mid; }elseif($a[$mid] < $key){ $low = $mid + 1; return BinSearch($a, $low, $heigh, $key);//ここ }elseif ($a[$mid] > $key){ $heigh = $mid - 1 ; return BinSearch($a, $low, $heigh, $key);//そしてここ } null を返します。 } <div class="clear"></div>

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











パッチ不可能な Yubico 2 要素認証キーの脆弱性により、ほとんどの Yubikey 5、セキュリティ キー、YubiHSM 2FA デバイスのセキュリティが侵害される

Java で JSONObject に特定のキーが含まれているかどうかを確認するにはどうすればよいですか?
