码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法--冒泡排序

时间:2020-02-27 16:24:43      阅读:48      评论:0      收藏:0      [点我收藏+]

标签:应该   排序   pre   print   实现   控制   开始   冒泡   需要   

冒泡排序算法是一种稳定的排序算法。
冒泡排序算法原理如下:
1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3. 针对所有的元素重复以上的步骤,除了最后一个。
4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

数据演示:
待排序序列: 10 7 15 2 5 27 13

0 第1轮:  7 10 2 5 15 13 【27】 比较6次

1 第2轮:  7 2 5 10 13 【15 27】 比较5次

2 第3轮:  2 5 7 10 【13 15 27】 比较4次

3 第4轮:  2 5 7 【10 13 15 27】 比较3次

4 第5轮:  2 5 【7 10 13 15 27】 比较2次

5 第6轮:  2 【5 7 10 13 15 27】 比较1次

6 第7轮:  【2 5 7 10 13 15 27】 比较0次

代码实现:

function bubbleSort($arr) {
    $len = count($arr);
    if($len<=1){
        return $arr;
    }
    for($i=0;$i<$len;$i++) { //控制循环轮数
        for($j=$i+1;$j<$len;$j++) {  //每轮比较次数
            if($arr[$i]>$arr[$j]) {
                $temp = $arr[$i];
                $arr[$i] = $arr[$j];
                $arr[$j] = $temp;
            }
        }
    }
    
    return $arr;
}

print_r(bubbleSort($arr));

排序算法--冒泡排序

标签:应该   排序   pre   print   实现   控制   开始   冒泡   需要   

原文地址:https://www.cnblogs.com/xinxinmifan/p/sort-algorithm-bubblesort.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!