写一个php 冒泡算法
时间: 2023-03-20 16:02:30 浏览: 48
好的,这是一个 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 = [64, 34, 25, 12, 22, 11, 90];
$sortedArr = bubbleSort($arr);
print_r($sortedArr);
```
冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
相关问题
写一个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]) {
$temp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $temp;
}
}
}
return $arr;
}
// 示例
$arr = array(3, 5, 1, 2, 4);
$result = bubbleSort($arr);
print_r($result); // 输出:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
```
以上代码中,首先定义了一个`bubbleSort`函数来实现冒泡排序。该函数接收一个数组作为参数,然后使用两层循环来遍历数组并比较相邻元素的大小,如果前一个元素比后一个元素大,则交换它们的位置。在第一次遍历完成后,最大的元素会被移动到数组的最后一位,然后再次重复这个过程直到所有元素都按照从小到大的顺序排列。最后返回排序后的数组。
用PHP写一个冒泡算法
冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
下面是用 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),不是很快。但它的优点是实现简单,编写代码难度小,因此在学习排序算法的初期,冒泡排序是一个不错的选择。
阅读全文