排序算法之冒泡排序
2015-08-31 22:30
155 查看
基本思想:
(1)先将具有n个数的待排序列进行最多n-1次的顺序俩俩比较,将序列最大值放入最后的位置n-1。
(2)继续对前n-1个数进行俩俩比较,将次大的数放在n-2的位置。
(3)依次进行,直至排序完成。
方法一:
方法二:
虽然方法不同,但是内在框架是相同的。
参考博客地址:http://blog.csdn.net/morewindows/article/details/6684558
(1)先将具有n个数的待排序列进行最多n-1次的顺序俩俩比较,将序列最大值放入最后的位置n-1。
(2)继续对前n-1个数进行俩俩比较,将次大的数放在n-2的位置。
(3)依次进行,直至排序完成。
方法一:
template<class T> void list<T>::Bubblesort() { for(int i = 0;i<currsize;++i) for (int j = 1; j < currsize - i; ++j) { if (vec[j-1].data>vec[j].data) { int temp; temp = vec[j - 1].data; vec[j - 1].data = vec[j].data; vec[j].data = temp; } } }
方法二:
template<class T> void list<T>::Bubblesort() { int i = 0; int flag = 1; //发生交换的标志位,0表示未交换 while (i < currsize&&flag) { flag = 0; for (int j =1; j <currsize-i;++j) //完成一次冒泡排序 if (vec[j-1].data > vec[j].data) { int temp; temp = vec[j - 1].data; vec[j - 1].data = vec[j].data; vec[j].data = temp; } flag = 1; ++i; } }
虽然方法不同,但是内在框架是相同的。
参考博客地址:http://blog.csdn.net/morewindows/article/details/6684558
相关文章推荐
- 面试百度总结
- hdu4925Apple Tree
- iOS学习总结之清理缓存
- 局域网或虚拟机开启mysql 远程链接
- UML类图几种关系的总结
- PYTHON资源入口汇总
- nginx作为下载文件服务器
- 打印九九乘法表
- 反射之获取类,方法等
- My mini project: display a text in my own PC
- MySQL存储过程之新sql语句--变量
- 求最大连续乘积
- Executor
- VS快捷键
- Socket模型详解
- JVM的相关知识整理和学习 见解1
- J2EE 13个规范概览
- POJ 2752 Seek the Name, Seek the Fame (KMP next 数组 变形)
- 面向对象的三大特征--封装/继承/多态
- 1044. Shopping in Mars (25)