區塊查詢

分塊查詢是介於順序查詢和折半查詢之間的一種查詢方法。

其實折半查詢就是每次折半的分塊查詢,那麼分塊查詢就是把數組分成區塊,然後每個區塊進行查詢的查詢方法。

本例的數組是已經排序號的,分塊後進行順序查詢。

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++;//每比較一次,位置後移一次
		}
	}
}
?>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章