PHP之简单冒泡排序

所谓冒泡自认为可以让大的沉下去或者小的漂上来,就是从大到小还是从小到大的实现。

PHP简单实现:

$arr = array(1,30,2,45,9,18,60);
$count = count($arr);
for($i=0;$i<$count;$i++){
    for($j=0;$j<$count-$i-1;$j++){
        if($arr[$j] > $arr[$j+1]){
            $tmp = $arr[$j];
            $arr[$j] = $arr[$j+1];
            $arr[$j+1] = $tmp;
        }
    }
}
Array
(
    [0] => 60
    [1] => 45
    [2] => 30
    [3] => 18
    [4] => 9
    [5] => 2
    [6] => 1
)

Python简单实现:
lista = [10,30,3,456,2,78,9]
lena = len(lista)
while lena > 0:
        for i in range(lena -1):
                if lista[i] > lista[i+1]:
                        tmp = lista[i]
                        lista[i] = lista[i+1]
                        lista[i+1] = tmp
        lena -= 1
print lista
输出:
[2, 3, 9, 10, 30, 78, 456]

知道了原理,其它语言如c++,c,js等只是写法不同,原理都一样。

PHP中常见的问题点,知识点,及盲点。
原文地址:https://www.cnblogs.com/sblack/p/7338633.html