<?php/*** target要查詢的值
* 左、右指示符 left,right用來維持查詢空間的指標
* 中間指示符 mid 用來應用條件來確定我們應該向左查詢還是向右查詢的索引
* from leetcode
*/function binsearch($arr, $target) elseif ($arr[$mid] > $target) elseif ($arr[$mid] < $target)
}return -1;
}$arr = [3,6,9,23,90,180,458];
// 遞迴的寫法
function binsearch1($arr, $target, $left, $right)
$mid = intval(($left+$right)/2);
if ($arr[$mid] == $target) elseif ($arr[$mid] > $target) elseif ($arr[$mid] < $target)
}var_dump(binsearch($arr, 180));
php 二分查詢
二分查詢 查詢乙個值在陣列中的位置 arr 操作的陣列,前提是按順序排列 val 查詢的值 start 查詢的起始位置,預設從陣列的第乙個數找起 end 查詢的結束位置 function binarysearch arr,val,end,start 0 elseif arr mid val else...
PHP 順序查詢 二分查詢
1 查詢的方法 順序查詢 二分法 2 順序查詢 對某個陣列,按照順序,乙個乙個比較,找到你要的資料。3 順序查詢例項 順序查詢陣列中某個數 如從乙個陣列中找到乙個數 34 arr array 23,45,67,34,9,34,6 如果查到則輸出下標,否則輸出查無此數 arr array 23,45,...
php 排序,二分查詢
arr array 4,3,0,9,2,98,1,6,34 arr quicksort arr binnerysearch arr,90,0,count arr 1 function bubblesort arr for i 0 i count i return arr function quick...