用php写一个冒泡排序
时间: 2023-12-15 09:47:52 浏览: 69
以下是使用PHP编写的冒泡排序算法:
```
function bubbleSort($arr) {
$len = count($arr);
for ($i = 0; $i < $len; $i++) {
for ($j = 0; $j < $len - $i - 1; $j++) {
if ($arr[$j] > $arr[$j+1]) {
$temp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $temp;
}
}
}
return $arr;
}
```
解释:
- 首先,我们获取数组的长度,用于确定循环次数。
- 然后,我们使用两个循环嵌套来遍历数组。外层循环控制整个排序过程的次数,内层循环用于比较相邻的元素并交换位置。
- 在内层循环中,我们使用 if 语句来比较相邻的两个元素,如果前一个元素比后一个元素大,则交换它们的位置。
- 最后,我们返回排序后的数组。
示例:
```
$arr = array(5, 3, 8, 4, 2);
$arr = bubbleSort($arr);
print_r($arr);
```
输出:
```
Array
(
[0] => 2
[1] => 3
[2] => 4
[3] => 5
[4] => 8
)
```
相关问题
用PHP写一个冒泡排序
以下是使用PHP编写的冒泡排序代码:
```
function bubbleSort($arr) {
$n = count($arr);
for($i = 0; $i < $n; $i++){
for($j = $i+1; $j < $n; $j++) {
if($arr[$i] > $arr[$j]) {
// 交换位置
$temp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $temp;
}
}
}
return $arr;
}
// 使用示例
$arr = array(5, 3, 8, 6, 1, 9, 2, 7, 4);
$arr = bubbleSort($arr);
print_r($arr);
```
输出结果为:
```
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
)
```
以上代码通过双重循环遍历数组,每次比较相邻两个数组元素,若前一个元素大于后一个元素,则交换它们的位置,持续进行这个操作直到所有元素都满足顺序要求。时间复杂度为 $O(n^2)$。
用PHP写一个冒泡排序法
冒泡排序法是一种常用的排序算法,用PHP实现它的基本思想是:从第一个元素开始,把它与其后的元素进行比较,如果它比后面的元素大,就交换位置,然后再比较它与其后的元素,直到最后一个元素,把最大的元素放到最后。然后重复这个过程,直到所有的元素都排好序。
PHP代码实现如下:
<?php
//冒泡排序法
$arr = array(4,2,6,1,3,5);
$len = count($arr);
for ($i=0; $i<$len-1; $i++) {
for ($j=$i+1; $j<$len; $j++) {
if ($arr[$i] > $arr[$j]) {
$tmp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $tmp;
}
}
}
print_r($arr);
?>
阅读全文