1 <?php
2 function bubble_sort($arr){
3 $len = count($arr);
4 for($i=0;$i<$len-1;$i++){
5 $flag = false;
6 for($j=0;$j<$len-1-$i;$j++){
7 if($arr[$j] > $arr[$j+1]){
8 $temp = $arr[$j];
9 $arr[$j] = $arr[$j+1];
10 $arr[$j+1] = $temp;
11 $flag = true;
12 }
13 }
14 if(!$flag){
15 return $arr;
16 }
17 }
18 return $arr;
19 }
20 $arr= array(1,4,2,98,43,24,5,7);
21 print_r(bubble_sort($arr));
22
23
24 ?>
1 function quik_sort($arr) {
2 if (count($arr) < 2) {
3 return (array)$arr;
4 }
5
6 $base = $arr[0];
7 $leftArr = array();
8 $rightArr = array();
9 for ($i=1, $len=count($arr); $i < $len; $i++) {
10 if ($arr[$i] < $base) {
11 $leftArr[] = $arr[$i];
12 } else {
13 $rightArr[] = $arr[$i];
14 }
15 }
16
17 $leftArr = quik_sort($leftArr);
18 $rightArr = quik_sort($rightArr);
19
20 return array_merge($leftArr, array($base), $rightArr);
21 }
function select_sort($arr)
{
$temp=0;
for($i=0;$i<count($arr)-1;$i++)
{
$minval=$arr[$i]; //每一次认为第i个数是最小值
$minindex=$i;
for($j=$i+1;$j<count($arr);$j++)
{
//说明目前的值并不是最小值
if($minval>$arr[$j])
{
$minval=$arr[$j];
$minindex=$j;
}
}
//内层for循环结束后再进行交换 这正是选择排序比冒泡排序优越的地方
$temp=$arr[$i];
$arr[$i]=$arr[$minindex];
$arr[$minindex]=$temp;
}
}