PHP实现冒泡排序示例代码:
<?php
function bubbleSort(&$array) {
$n = count($array);
for ($i = 0; $i < $n - 1; $i++) {
// 标志位,用于优化,如果在某一趟排序中没有发生交换,说明数组已经有序,可以提前结束
$swapped = false;
for ($j = 0; $j < $n - $i - 1; $j++) {
if ($array[$j] > $array[$j + 1]) {
// 交换元素
$temp = $array[$j];
$array[$j] = $array[$j + 1];
$array[$j + 1] = $temp;
$swapped = true;
}
}
// 如果没有发生交换,说明数组已经有序,直接跳出循环
if (!$swapped) {
break;
}
}
}
// 测试冒泡排序
$array = [64, 34, 25, 12, 22, 11, 90];
echo "排序前的数组: \n";
var_dump($array);
bubbleSort($array);
echo "排序后的数组: \n";
var_dump($array);
?>
我的个人PHP项目:
PHP全文检索 WindSearch: https://github.com/rock365/windsearch
WindSearch在线开发文档:https://rock365.github.io/ 偶尔无法访问,多刷新几次就行