排序-冒泡排序最终优化版本
2016-03-29 17:11
239 查看
排序-冒泡排序
冒泡排序是排序中比较基础的方法,相信大家学编程语言时都了解过,这里就给出一个优化的代码,是比较正规的代码。
欢迎指正
冒泡排序是排序中比较基础的方法,相信大家学编程语言时都了解过,这里就给出一个优化的代码,是比较正规的代码。
#include <stdio.h> //对普通数组的冒泡排序,是最终的优化版本,增加了标识 void BubbleSort(int* L, int length) { //为0说明不需要排序,为1说明还需要排序 int isNeedSort = 1;//增加标识,防止重复排序已经有序的序列 for (int i = 0; (i < length) && isNeedSort; i++)//如果有序就退出排序 { isNeedSort = 0;//初始假设这一趟是有序的 for (int j = length - 1; j >= i; j--) { if (L[j - 1] > L[j]) { swap(L, j - 1, j); isNeedSort = 1;//设为1说明这一趟是无序的,还需要排序 } } } } //main测试 int main(void) { int x[10] = { 5, 3, 2, 1, 7, 4, 6, 9, 8, 10 }; BubbleSort(x, 10);//排序 for (int i = 0; i < 10; i++) { printf("%d ", x[i]);//输出 } system("pause"); return 0; }
欢迎指正
相关文章推荐
- 跨平台的视频采集、直播SDK SmarterStreaming
- 一款已上市MMO手游地图同步方案总结
- android跳到手机home键主界面
- 数据结构(三)——双链表、链式栈、链式队列 及实现
- HDU 1196 Lowest Bit(基础题,有个小技巧)
- android 触摸手指动作放大和缩小图片
- Linux内核:关于中断你须要知道的
- C++标准转换运算符 --四种
- Dapper入门学习
- 3n+1问题
- Unity3D手游开发日记(7) - 适合移动平台的天气效果
- 自定义通知
- H264 elementary stream的 两种表示方式
- 随手记点-mapreduce6
- 组合模式
- 数据结构(二)——单链表 、带头结点的单链表、循环链表 及其实现
- 怎么利用完成端口监听多个不同端口的socket
- wildfly10 添加 mysql 数据源 (datasource)
- POJ 3169 Layout 差分约束系统
- 【是程序猿就干了这碗心灵鸡汤】我们这一代人的困惑