交换排序-冒泡排序
2015-06-21 00:37
225 查看
冒泡排序总结
学习了关于冒泡排序,这里总结下一些编程经验。
回想起自己以前的冒泡排序算法,真的在这里有些逊色了,今天刚了解到一个新思路编写冒泡排序的编程方法,与大家一起分享。
以前排序过程大概如下代码所示:
新思路排序过程,定义一个exchange,可以有效地减少排序过程的比较次数,代码如下。
执行后的结果没有多大的区别,但是初次看到这个编写代码的方法不仅眼前一亮。
冒泡排序过程的复杂度分析:
最坏时间复杂度:O(n^2) 最好时间复杂度:O(n) 空间复杂度:O(1)
后续上传各类详细排序代码
--->Copyright @Kindy之家
转载请注明地址
学习了关于冒泡排序,这里总结下一些编程经验。
回想起自己以前的冒泡排序算法,真的在这里有些逊色了,今天刚了解到一个新思路编写冒泡排序的编程方法,与大家一起分享。
以前排序过程大概如下代码所示:
int Sort::Sort_bubble(int r[], int length) { for(int i = 1; i < length; ++i){ for(int j = 0; j <= i; ++j){ ExchangeNum(r[i], r[j]); //数字交换 } } return 0; }
新思路排序过程,定义一个exchange,可以有效地减少排序过程的比较次数,代码如下。
int Sort::Sort_bubble2(int r[], int length) { int exchange = length-1; int bound = 0; while(exchange != 0){ bound = exchange; exchange = 0; for(int j = 0; j < bound; ++j){ if(r[j] > r[j+1]){ ExchangeNum(r[j], r[j+1]); exchange = j; } } } return 0; }
执行后的结果没有多大的区别,但是初次看到这个编写代码的方法不仅眼前一亮。
冒泡排序过程的复杂度分析:
最坏时间复杂度:O(n^2) 最好时间复杂度:O(n) 空间复杂度:O(1)
后续上传各类详细排序代码
--->Copyright @Kindy之家
转载请注明地址
相关文章推荐
- Zookeeper集群环境搭建实践
- poj 2388 Who's in the Middle
- VS2013快捷键
- 数据结构和算法-010 数组排序 希儿排序
- ENode框架Conference案例分析系列之 - 业务简介
- 配置trac
- 运行与结果
- uva6511 强连通分量
- OpenCV+C++ 视频图片相互转换
- 剑指offer第三题:二维数组中查找
- 花了一年时间完成的 在线G代码编辑,加工系统 G-Code Editor V1.0
- Linux系统 安装Nginx
- LoadRunner测试ajax框架,回放后系统中没有产生数据解决方法
- 【吾日三省吾身】2015.6.20-涅槃行动第三十三天
- JDBC实例2 关于分包下不同表实体类的外键类型转换
- Linux-shell基础-1
- 无题
- Java并发编程-32-带有延迟元素的队列-DelayQueue
- PC客户端的互联网化设计
- 【TypeScript】TypeScript 学习 4——模块