php冒泡函数
时间: 2023-10-18 17:16:09 浏览: 79
冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较每对相邻的项,并按照大小顺序交换它们,直到没有任何一对数字需要比较为止。在PHP中,可以使用以下代码实现冒泡排序:
```php
function bubbleSort($arr) {
$n = count($arr);
for($i = 0; $i < $n; $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是要排序的数组。首先获取数组的长度$n,然后使用两个循环嵌套,外部循环从0到$n-1,内部循环从0到$n-i-1。在每次内部循环中,比较相邻的两个元素,如果前一个元素大于后一个元素,就交换它们的位置。这样每次内部循环结束时,数组中最大的元素就会被移到最后的位置,直到整个数组都排好序为止。最后返回已排好序的数组。
相关问题
php 写一个冒泡函数
在 PHP 中,可以使用以下代码来实现冒泡排序算法:
```
function bubble_sort($arr) {
$n = count($arr);
for ($i = 0; $i < $n; $i++) {
for ($j = 0; $j < $n - $i - 1; $j++) {
if ($arr[$j] > $arr[$j + 1]) {
// 交换 $arr[$j] 和 $arr[$j+1] 的值
$temp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $temp;
}
}
}
return $arr;
}
```
使用方法如下:
```
$arr = [3, 2, 1, 4];
$sorted_arr = bubble_sort($arr);
print_r($sorted_arr); // 输出:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
```
其中,`bubble_sort()` 函数接受一个数组作为参数,并返回一个排序后的数组。
写一个php冒泡排序
以下是 PHP 实现冒泡排序的示例代码:
```php
<?php
function bubbleSort($arr) {
$len = count($arr);
for ($i = 0; $i < $len - 1; $i++) {
for ($j = 0; $j < $len - $i - 1; $j++) {
if ($arr[$j] > $arr[$j + 1]) {
$tmp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $tmp;
}
}
}
return $arr;
}
$arr = array(5, 3, 8, 4, 1);
echo "Original Array:\n";
echo implode(', ', $arr) . "\n";
$arr = bubbleSort($arr);
echo "Sorted Array:\n";
echo implode(', ', $arr) . "\n";
?>
```
简单解释一下代码:
1. `bubbleSort` 函数接收一个数组作为参数。
2. 通过 `count` 函数获取数组元素个数。
3. 使用双重循环进行冒泡排序,外层循环控制需要比较的轮数,内层循环控制每轮比较的次数。
4. 如果前面的数比后面的数大,则交换两个数的位置。
5. 返回排序后的数组。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)