冒泡排序法的基本思路就是,每經過一次循環,就把最大的交換到最後;到最後就成了一個從小到大的有序數組;
小案例:從小到大,然後再從大到小;
<?php
$arr1=array(1,-1,10,-9,0,3,7,-20,100);
function Sort1($arr){
for ($i=0;$i<count($arr)-1;$i++){
for ($j=0;$j<count($arr)-1-$i;$j++){
if ($arr[$j]>$arr[$j+1]){
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
}
}
}
return $arr;
}
$brr=Sort1($arr1);
print_r($brr);
$j=0;
for ($i=count($brr)-1;$i>=0;$i--){
$crr[$j]=$brr[$i];
$j++;
}
print_r($crr);
?>
[root@node1 html]# php sort1.php
Array
(
[0] => -20
[1] => -9
[2] => -1
[3] => 0
[4] => 1
[5] => 3
[6] => 7
[7] => 10
[8] => 100
)
Array
(
[0] => 100
[1] => 10
[2] => 7
[3] => 3
[4] => 1
[5] => 0
[6] => -1
[7] => -9
[8] => -20
)
Python實現冒泡排序法 http://www.linuxidc.com/Linux/2014-06/103897.htm
Go語言實現冒泡排序 http://www.linuxidc.com/Linux/2014-06/103844.htm
C++ 使用模板實現冒泡排序 http://www.linuxidc.com/Linux/2014-02/96914.htm
Java簡單排序之冒泡排序代碼 http://www.linuxidc.com/Linux/2013-11/92782.htm
冒泡排序優化版,性能近乎翻倍 http://www.linuxidc.com/Linux/2013-09/90710.htm