php 二分查詢

2021-09-06 11:23:43 字數 694 閱讀 4858

<?php

/**二分查詢:查詢乙個值在陣列中的位置

* @$arr:操作的陣列,前提是按順序排列

* @$val:查詢的值

* @$start:查詢的起始位置,預設從陣列的第乙個數找起

* @$end:查詢的結束位置**/

function binarysearch($arr, $val, $end, $start=0)

elseif($arr[$mid] > $val

)else

}return -1; //

這裡的-1,是表示如果不在陣列範圍的時候,所返回的值

}header('content-type:text/html; charset=utf-8'); //

產生乙個陣列

$arr = range(10,20);

echo '';

print_r($arr

);echo '

';

$start = 0;

$end = count($arr) - 1;

$findval = rand(10,20 );

$index = binarysearch($arr, $findval, $end, $start

);printf("查詢的值 '%d' 在陣列中的下標 '%s'", $findval, $index

);?>

php二分查詢

target要查詢的值 左 右指示符 left,right用來維持查詢空間的指標 中間指示符 mid 用來應用條件來確定我們應該向左查詢還是向右查詢的索引 from leetcode function binsearch arr,target elseif arr mid target elseif...

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