冒泡排序
$arr=array(1,43,54,62,21,66,32,78,36,76,39);
function getPao($arr){
$len = count($arr);
for($i = 0; $i < $len ; $i++){
for($k = 0; $k < $len -1 ;$k++){
if($arr[$k+1] > $arr[$k]){
$tmp = $arr[$k+1];
$arr[$k+1] = $arr[$k];
$arr[$k] = $tmp;
}
}
}
return $arr;
}
快速查找
function getQuick($arr){
$len = count($arr);
if($len <= 1){
return $arr;
}
$num = $arr[0];
$big = array();
$small = array();
foreach($arr as $v){
if($v > $num)
$big[] = $v;
if($v < $num)
$small[] = $v;
}
$big = getQuick($big);
$small = getQuick($small);
return array_merge($big, array($num), $small);
}
二分查找
$arr1 = array(1,2,3,4,5,6,7,8,9,12,23,33,35,56,67,89,99);
function getCheck($arr1,$num){
$len = count($arr1);
$low = 0;
$high = $len -1;
while($low <= $high){
$middle = floor(($low + $high)/2);
if($num == $arr1[$middle]){
return $middle;
}elseif($num < $arr1[$middle]){
$high = $middle -1 ;
}else{
$low = $middle +1 ;
}
}
}