//冒泡排序:对数组中相邻元素两两比较,无序则交换位置,直至数组有序。 $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
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