分塊查詢是介於順序查詢和折半查詢之間的一種查詢方法。
其實折半查詢就是每次折半的分塊查詢,那麼分塊查詢就是把數組分成區塊,然後每個區塊進行查詢的查詢方法。
本例的數組是已經排序號的,分塊後進行順序查詢。
php代碼:
<?php
$arr = array(1,2,3,4,5,6,7,8,9,10);
print_r(blockSearch(3,1,$arr));
function blockSearch($block,$key,$arr){
$length = count($arr);
$position = 0;
while($length >= $position){//數組元素比較完了,就結束循環
for($i=1;$i<=$block;$i++){//循環次數爲定義的塊的大小
if($arr[$position] == $key){//找到了元素
return 'value:'.$arr[$position] .';position:'.$position;
}
$position++;//每比較一次,位置後移一次
}
}
}
?>