排序算法--冒泡排序
Posted xinxinmifan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法--冒泡排序相关的知识,希望对你有一定的参考价值。
冒泡排序算法是一种稳定的排序算法。
冒泡排序算法原理如下:
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));
以上是关于排序算法--冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章