PHP实现冒泡排序

冒泡排序属于交换排序,是一种稳定排序,平均时间复杂度为 O(n^2),最好情况时间复杂度为O(n),最坏情况时间复杂度为O(n^2)

<?php
    /**
     *冒泡排序
     *前后两两比较,大的下沉,小的上浮
     */
    function bubbleSort($array)
    {
        //判断参数是否是一个数组
        if (!is_array($array)) return false;
        $length = count($array);
        if ($length <= 1) return $array;
        for ($i = 0; $i < $length; $i++) {
            for ($j = 0; $j < $length - $i - 1; $j++) {
                if ($array[$j] > $array[$j + 1]) {
                    $temp = $array[$j + 1];
                    $array[$j + 1] = $array[$j];
                    $array[$j] = $temp;
                }
            }
        }
        return $array;
    }

    $array = [1, 3, 5, 18, 9, 2, 4, 6, 5, 0, 10, 29, 15];

    print_r(bubbleSort($array));

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券