以下是用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;
}

以上代码定义了一个名为bubbleSort的函数,该函数接受一个数组作为参数,并返回经过冒泡排序后的结果。

该算法的基本思路是通过重复遍历待排序的数组,比较相邻两个元素的大小,如果前一个元素大于后一个元素,则交换它们的位置。每一轮遍历结束后,都会将当前未排序元素中的最大值移动到数组的最后位置。重复执行这个过程,直到所有元素都被排序。

示例用法:

$arr = array(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
$arr = bubbleSort($arr);
print_r($arr);

输出结果:

Array
(
    [0] => 1
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 3
    [5] => 4
    [6] => 5
    [7] => 5
    [8] => 5
    [9] => 6
    [10] => 9
)

以上代码的时间复杂度为O(n^2),空间复杂度为O(1)。

用php写一个冒泡排序算法?

原文地址: http://www.cveoy.top/t/topic/s3X 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录