博主信息
博文 26
粉丝 0
评论 3
访问量 25088
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php实现排序之冒泡排序算法
无意苦争春的博客
原创
1076人浏览过

冒泡排序

     冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后部移向前部(从下标较大的单元移向下标较小的单元),就象水底下的气泡一样逐渐向上冒。

144931kyfdv8vzdav3wzw5.jpg.thumb.jpg

/**
* 冒泡排序
*
* @param $arr, array 需要排序的数组
*
* @return array 排序好的数组
*/
function bubble_sort($arr) {
    //利用双重循环完成
    //外层循环控制 比较的轮数,每轮会将一个最大的气泡(数)浮到水面。
    //如果数组的元素个数为N 则需要N-1轮完成
    for($i=0, $len=count($arr); $i<$len-1; $i++) {
        //内层循环控制 的比较的次数,
        //第一轮需要比较 N-1次
        //第二轮需要比较 N-2次
        //比较次数由  $len-$i-1
        for($j=0; $j<$len-$i-1; $j++) {
            //比较相邻的两个元素,将大的元素放到后边
            // 相邻的下标使用 $j  和 $j+1 标志
            if($arr[$j] > $arr[$j+1]) {
                //判断 前面的比后边的大,需要交换位置
                $tmp = $arr[$j];
                $arr[$j] = $arr[$j+1];
                $arr[$j+1] = $tmp;
            }
        }
    }
    //返回比较后的数组
    return $arr;
}

//测试
$arr1 = array(1, 3, 0, 2, 6, 2);
print_r(bubble_sort($arr1));




本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学