php二分查詢

2022-08-10 07:06:13 字數 566 閱讀 3914

<?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...