function bubble_sort($arr){$len=count($arr);if($len<=0)returnfalse;for($i=0;$i<$len-1;$i++){for($j=$i+1;$j<$len-1;$j++){if($arr[$i]>$arr[$j]){$t=$arr[$i];$arr[$i]=$arr[$j];$arr[$j]=$t;}}}return$arr;}
插入排序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function insert_sort($arr){$len=count($arr);if($len<=0)returnfalse;for($i=1;$i<$len;$i++){$flag=$arr[$i];//待插入的数for($j=$i-1;$arr[$j]>$flag&&$j>=0;$j--)//向前插入合适位置{$arr[$j+1]=$arr[$j];//比它大的逐个后移}$arr[$j+1]=$flag;}return$arr;}
function select_sort($arr){$len=count($arr);if($len<=0)returnfalse;for($i=0;$i<$len;$i++){$min=$i;for($j=$i+1;$j<$len;$j++)//记录剩下中最小那的{if($arr[$j]<$arr[$min])$min=$j;}if($min!=$i)//把当前数与该最小数交换{$temp=$arr[$min];$arr[$min]=$arr[$i];$arr[$i]=$temp;}}return$arr;}
快速排序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function quick_sort($arr){$len=count($arr);if($len<=1)return$arr;$mid=$arr[0];//以此数为基准拆分为两个数组$l=$r=array();for($i=1;$i<$len;$i++){if($arr[$i]<$mid)$l[]=$arr[$i];else$r[]=$arr[$i];}$l= quick_sort($l);$r= quick_sort($r);returnarray_merge($l,array($mid),$r);}