冒泡排序--改进
2015-08-02 11:44
218 查看
#include <stdio.h> void bubble_sort(int a[],int n) { int i,j.tmp; int exchange=0,last_exchange;//这里的exchange表示是否发生交换,如果始终未发生交换,那么认为已经是有序的序列了,不在需要排序,直接跳出;last_exchange表示最后一个发生交换的位置,可以使得有序序列扩充多个; last_exchange=1; for(i=1;i<n;i++) { for(j=n-1;j>=i;j--) { if(a[j]<a[j-1]) { tmp=a[j-1]; a[j-1]=a[j]; a[j]=tmp; exchange=1; last_exchange=j; } } i=last_exchange; if(0==exchange) break; } }
相关文章推荐
- 读书笔记-《用户体验设计》
- 谈谈嵌套for循环的理解
- [LeetCode][JavaScript]First Missing Positive
- 批梯度下降的 python 实现
- MD5工具类 -- 文件MD5值 -- MD5加密
- [HDU 1348] Wall 凸包周长
- 工作中的一些思考
- html5+css3 快速学习
- 如何避免不同应用更改数据,导致的数据不一致。
- VC6\VS2003 转换到VS2005 时可能会遇到的问题以及解决方法
- 晚期(运行期)优化
- Java之集合类【ArrayList】【入门版,实例解析】
- 程序员年少成名,是一种什么样的体验
- LeetCode之Search for a Range
- 第七课第五节,流程语句(版本5.0)
- MySQL日志表按月分区
- ubuntu生成快捷方式的简便方法
- hdu 5329 Question for the Leader 枚举,划分图为k个联通的子图
- mysql安装图解 mysql图文安装教程(详细说明)
- Java构造方法