具体代码实现如下:
二分查找:
// 二分查找
/**
* @param array $arr 查找的数组
* @param int $low 数组起始元素下标
* @param int $hig 数组末尾元素下标
* @param $k 所要查找的元素
* return 成功返回数组下标,失败则返回-1
**/
function bin_sort($arr,$low,$hig,$k) {
if($low<=$hig) {
$mid = intval(($low+$hig)/2);
if($arr[$mid]==$k) {
return $mid;
} else if($k<$arr[$mid]) {
bin_sort($arr,$low,$mid-1,$k);
} else if($k>$arr[$mid]) {
bin_sort($arr,$mid+1,$hig,$k);
}
}
return -1;
}
顺序查找:
// 顺序查找
function search($arr,$k) {
for($i=0,$n=count($arr);$i<$n;$i++) {
if($arr[$i]==$k) {
break;
}
}
if($i<$n) {
return $i;
} else {
return -1;
}
}