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:如有比较好的解决方案可以评论或者私信

更多相关文章请关注:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第1章 第一个C程序第2章 C语言基础第3章 变量和数据类型第4章 顺序结构程序设计第5章 条件结构程序设计第6章...
    小狮子365阅读 10,733评论 3 71
  • 排序算法说明 (1)排序的定义:对一序列对象根据某个关键字进行排序; 输入:n个数:a1,a2,a3,…,an 输...
    code武阅读 677评论 0 0
  • 前言 排序算法可能是你学编程第一个学习的算法,还记得冒泡吗? 当然,排序和查找两类算法是面试的热门选项。如果你是一...
    无脚鸟30阅读 969评论 0 0
  • 我们总会有着许多次的书写,每一次书写都会费尽我们的脑汁去思考,然后都会有着一个结果,这个结果可能是坏的也可...
    蓝天晨曦阅读 261评论 0 0
  • 今天超级困 下班回来,原计划煮个清汤挂面当晚饭的,没想到进了个超市走了一圈没啥想吃的,临出门的时候看上了海苔卷,忍...
    阿玩玩呀阅读 128评论 0 0