PHP基础算法之——冒泡排序算法

                                                    冒泡排序法

描述:冒泡排序大概的意思是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。

/**

* 冒泡排序算法

* @param array $arr

* @return array

*/

function bubble_sort($arr) {

    // 判断参数是否为数组,且不为空

    if (!is_array($arr) || empty($arr)) {

        return $arr;

    }

    // 循环需要冒泡的轮数

    $count = count($arr);

    for ($i = 1, $len = $count; $i < $len; $i++) {

        // 循环每轮需要比较的次数

        for ($j = 0; $j < $len - $i; $j++) {

            // 大的数,交换位置,往后挪

            if ($arr[$j] > $arr[$j + 1]) {

                $temp = $arr[$j + 1];

                $arr[$j + 1] = $arr[$j];

                $arr[$j] = $temp;

            }

}

}

    return $arr;

}

优点:简单,方便

缺点:效率低,执行效率慢

PS:如有比较好的解决方案可以评论或者私信

更多相关文章请关注:

你可能感兴趣的:(PHP基础算法之——冒泡排序算法)