算法原理
冒泡排序算法的运作如下:(从后往前)
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。所以第一次两两比较完,会有一个最大数放在最后。第二次两两比较完,第二大的数会被放在倒数第二。
- 重复以上的步骤,已经放好的数字不用再比较。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
PHP实现冒泡排序
<?php
function bubbleSort($arr) {
$count = count($arr);
for ($i = 0; $i < $count - 1; $i++) {
for ($j = 0; $j < $count - $i - 1; $j++) {
if ($arr[$j] > $arr[$j+1]) {
$temp = $arr[$j+1];
$arr[$j+1] = $arr[$j];
$arr[$j] = $temp;
}
}
}
return $arr;
}
$arr = [15, 3, 6, 43, 132, 4, 28, 39, 99, 2];
$res = bubbleSort($arr);
print_r($res);