冒泡排序-PHP

//冒泡排序:对数组中相邻元素两两比较,无序则交换位置,直至数组有序。
$arr = [11,5,4,2,3,8,9];

function bubleSort($arr)
{
    $swap = true;
    while($swap){
        $swap = false;
        for($i = 0; $i < count($arr) - 1; $i++)
        {
            if($arr[$i] > $arr[$i+1]) {
                $arr[$i] += $arr[$i+1];
                $arr[$i+1] = $arr[$i] - $arr[$i+1];
                $arr[$i] = $arr[$i] - $arr[$i+1];
                $swap = true;
            }
        }
    }
    return $arr;
}

$ret = bubleSort($arr);
print_r($ret);

//➜ php buble.php
//Array
//(
//    [0] => 2
//    [1] => 3
//    [2] => 4
//    [3] => 5
//    [4] => 8
//    [5] => 9
//    [6] => 11
//)
copy success
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35