冒泡排序
来源:互联网 发布:淘宝联通话费充值 编辑:程序博客网 时间:2024/05/11 19:43
冒泡排序
简单的描述就是
用第一个和第二个比,如果第一个大(小)就和第二个交换,如果没有第二个大(小)就不交换,再用第二个和第三个比,如果第二个大(小)就和第三个交换,如果没有第三个大(小)就不交换。。。
这样第一次冒泡就会让最大(小)的元素到达最后一个位置。
第二次冒泡同样,就会让第二大(小)的元素到达倒数第二的位置。。。
代码如下:
void balloonOrder(int Arr[],int count){ int i,j,m; m = 1 ; for(i=count-1;i>-1&&m;i--) { m =0 ; for(j=0;j<i;j++) { if(Arr[j]>Arr[j+1]) { swap(&Arr[j],&Arr[j+1]); m = 1 ; } } }}
冒泡排序也是两层循环,不同的是两层循环从数组的起点和终点开始,相遇进入下一次大循环
在冒泡排序存在空排的情况,比如后面的已经排好了的情况(10,9,8,7,6,5,4,3,2,1降序排列)
此时可以设置一个标志位,一次冒泡中开始为false,有一次交换就设置为true,如果在一次冒泡结束后标志位任然为false,那么就认为已经拍好了,后面的就没必要继续排列了
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 字符串内特殊字符处理‘#’‘@’
- sqlserver批量新增数据
- Alcatraz管理Xcode插件
- Android 嵌套滑动机制(NestedScrolling)
- Java单链表反转 详细过程
- 冒泡排序
- HttpClient学习整理
- zzulioj--1870--马拉松后记(暴力求解)
- The road to Java(1)
- 针对php网站攻击的几种方法
- 最近写的一个控件——Well Swipe beta 1.0
- php特殊类型
- eclipse项目有时不能启动原因
- 前端开发面试问题及答案整理