用PHP写一个冒泡算法
时间: 2023-02-06 20:44:40 浏览: 47
冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
下面是用 PHP 实现冒泡排序的代码示例:
```
function bubble_sort($arr) {
$n = count($arr);
for ($i = 0; $i < $n - 1; $i++) {
for ($j = 0; $j < $n - $i - 1; $j++) {
if ($arr[$j] > $arr[$j + 1]) {
// 交换两个数的位置
$temp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $temp;
}
}
}
return $arr;
}
// 用示例数组测试冒泡排序函数
$arr = array(5, 1, 4, 2, 8);
$sorted_arr = bubble_sort($arr);
print_r($sorted_arr); // 输出:Array ( [0] => 1 [1] => 2 [2] => 4 [3] => 5 [4] => 8 )
```
冒泡排序算法的时间复杂度是 O(n^2),不是很快。但它的优点是实现简单,编写代码难度小,因此在学习排序算法的初期,冒泡排序是一个不错的选择。
阅读全文