区块查询

分块查询是介于顺序查询和折半查询之间的一种查询方法。

其实折半查询就是每次折半的分块查询,那么分块查询就是把数组分成区块,然后每个区块进行查询的查询方法。

本例的数组是已经排序号的,分块后进行顺序查询。

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

 

点赞