分块查询是介于顺序查询和折半查询之间的一种查询方法。
其实折半查询就是每次折半的分块查询,那么分块查询就是把数组分成区块,然后每个区块进行查询的查询方法。
本例的数组是已经排序号的,分块后进行顺序查询。
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++;//每比较一次,位置后移一次 } } } ?>
运行结果:
value:1;position:0
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》