二分探索 PHP 実装
リリース: 2016-07-25 08:46:12
- /**二分探索: 配列内の値の位置を見つけます
- * @$arr: 順序どおりに配置されている場合、演算対象の配列です
- * @$val: 検索される値
- * @$low:検索の開始位置、デフォルトは配列からです 最初の番号を見つけます
- * @hight: 検索の終了位置
- **/
- function binarySearch($arr, $val, $hight, $low=0){
- while($low <= $hight){
- $ Mid = ceil($low + ($hight - $low) / 2);
- if($arr[$mid] == $val){
- return $mid;
- }elseif($arr[$mid] > $val){
- $hight = $mid -1;
- }else{
- $low = $mid +1;
- }
- }
- return -1;
- }
- header('Content-Type: text/html; charset =utf-8');
-
- //配列を生成します
- $arr = range(0,20);
- echo '
';</li>
<li>print_r($arr);</li>
<li>echo ' ' ;
-
- $low = 0;
- $hight = count($arr) - 1;
- $findVal = rand(0, 20);
- $index = binarySearch($arr, $findVal, $hight, $low);
- printf("見つかった値 '%d' は配列内の添字 '%s' です", $findVal, $index);
- ?>
コードをコピー
|
PHP
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31