常用排序算法-冒泡排序
2017-05-06 13:08
211 查看
1. 冒泡排序简介
冒泡排序,顾名思义,就像水中的气泡一样接二连三的浮出水面,也很像排名赛一样,通过不断地和上层选手进行对战,胜者上,败者下。具体而言,可从最后一名“选手”开始进行爬天梯,不断地与前一名“选手”比赛,获胜则交换位置,同时获胜者继续前进,失败者停留原地。2. 冒泡排序基本流程
1. 选择第N个数作为基准数,不断地与前N-1个数进行比较。如果基准数比较小,则继续向前比较;如果基准数比较大,则选择小的数作为新的基准数继续向前比较;2. 比完一轮之后,站在顶端的男人就是那个最小的;
3. 现在可以进行第二轮比较找到第二小的了~;
4. 重复进行至只剩下两个数字没有找准自己的位置,单挑,结束。
3. 冒泡排序算法实现
template <class T> void mySeqList<T>::BubbleSort(T* subSeqList, int startPos, int endPos) { if (endPos==startPos) { return; } //T temp; for (int i=endPos; i>startPos; --i) { if (subSeqList[i]<subSeqList[i-1]) { SwapPos(i,i-1); } } //BubbleSort(subSeqList,startPos,endPos-1); return; }
4. 应该注意的问题
1. 因为莫名的原因把这个用循环可以解决的事情写成递归函数了,这样不好,这个功能还是应该循环调用函数合理的多相关文章推荐
- 对一组随机生成数进行几种常用排序算法的分析设计和实现之一 ——冒泡排序
- 常用排序工具类:标准【正序、倒序】排序算法‘冒泡排序,选择排序,快速排序’
- 插入排序,选择排序,冒泡排序等常用排序算法(java实现)
- 常用排序算法——鸡尾酒排序(改进的冒泡排序)
- 常用排序算法——冒泡排序
- 常用的排序算法(包括冒泡排序,选择排序,插入排序,希
- 【Java常用排序算法】交换排序(冒泡排序、快速排序)
- C++实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等
- 常用排序算法之冒泡排序
- C++实现常用排序算法(快速排序、冒泡排序、希尔排序、折半插入排序、直接插入排序)
- 几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- 常用的排序算法之冒泡排序java版
- 常用排序算法实现[交换排序之冒泡排序、快速排序]
- Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等
- C语言常用的几种排序算法代码(选择排序,冒泡排序,插入排序,快速排序)
- 常用的排序算法:插入排序,希尔排序,冒泡排序,选择排序,快速排序,归并排序
- 黑马程序员----Java中几种常用排序算法(选择排序、冒泡排序、快速排序)
- 常用排序算法的php实现——冒泡排序
- 【Java】八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序 、快速排序、归并排序、堆排序和LST基数排序
- PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】