PHP 順序查詢 二分查詢

2021-09-27 09:20:33 字數 1185 閱讀 5968

1、查詢的方法

順序查詢 、  二分法

2、順序查詢:

對某個陣列,按照順序,乙個乙個比較,找到你要的資料。

3、順序查詢例項:

<?php  

//順序查詢陣列中某個數

//如從乙個陣列中找到乙個數:34

//$arr = array(23,45,67,34,9,34,6)如果查到則輸出下標,否則輸出查無此數

$arr = array(23,45,67,34,9,34,6);

//設乙個標誌位

$flag = false;

foreach($arr as $x => $x_val)

}if ($flag==false)

?>

4、二分查詢:

首先找到陣列中間這個數,然後與要查詢的數比較,如果要查詢的數大於中間這個數,則說明應該向後找,否則向前找,如果想等,則說明找到。

前提:該陣列必須是有序數列,如果該陣列無序,必須先排序後查詢

<?php  

//二分查詢陣列中某個數

//如從乙個陣列中找到乙個數:134

//$arr = array(23,45,67,89,90,134,236)如果查到則輸出下標,否則輸出查無此數

function binarysearch(&$arr,$val,$leftindex,$rightindex)

//四捨五入取整數值

$middleindex = round(($leftindex + $rightindex)/2);

if($val > $arr[$middleindex])

elseif($val < $arr[$middleindex])

else }

$arr = array(23,45,67,89,90,134,236);

// $leftindex = 0;左下標

// $rightindex = count($arr)-1;右下標

// $val = 134;要找的值

binarysearch($arr,134,0,count($arr) - 1)

?>

php二分查詢 順序查詢演算法

二分查詢的陣列必須是排好序的,順序查詢沒要求,php查詢陣列元素有內建的函式array search和in array 二分查詢法 function binsearch arr,search elseif arr mid search elseif arr mid search return 查詢失...

PHP 二分查詢和順序查詢

二分查詢 1 使用php描述順序查詢和二分查詢 也叫做折半查詢 演算法,順序查詢必須考慮效率,物件可以是乙個有序陣列2 3 二分查詢法 陣列中查詢某個元素 4 param array array 要查詢的陣列 5 param int low 查詢的起始位置 6 param array high 查詢...

php順序查詢法,php順序查詢與二分查詢例項

class search 查詢的源陣列 private array array 1,2,3,5,7,6,4,8 順序查詢法 param val 要查詢的值 public function query search val foreach this array as k v if v val echo...