冒泡排序
2016-05-05 00:00
148 查看
冒泡排序可以这样理解:(从小到大排序)存在10个不同大小的气泡,由底至上地把较少的气泡逐步地向上升,这样经过遍历一次后,最小的气泡就会被上升到顶(下标为0),然后再从底至上地这样升,循环直至十个气泡大小有序。在冒泡排序中,最重要的思想是两两比较,将两者较少的升上去。它的最坏情况的时间复杂度是O(n²)。
#include <iostream> #define maxNum 100000 using namespace std; int times; int Num[maxNum]; void BubbleSort(int Num[], int n){ int flag = 0; for (int i = 0; i < n; ++i){ for (int j = n - 1; j>i; --j){ if (Num[j] > Num[j - 1]){ swap(Num[j], Num[j - 1]); ++times; flag = 1; } } if (!flag)break; } return; } int main(){ int testNum = 0; while (cin >> testNum && testNum > 0 && testNum < maxNum){ times = 0; memset(Num, 0, maxNum); for (int i = 0; i < testNum; ++i) cin >> Num[i]; BubbleSort(Num, testNum); for (int j = 0; j < testNum; ++j) cout << Num[j] << ends; cout << endl << times << endl; } return 0; }
相关文章推荐
- UVa 102-Ecological Bin Packing
- java版微信支付(APP)--工具类
- java版微信支付--工具类
- java版微信App支付--下单
- js 精确 加减乘除
- HBase单机环境搭建
- oracle小应用
- APP上线后,去除Log打印的问题
- mac+mysql:仅供自己使用
- 小游戏成就大奇迹!一款微信游戏拯救了他的跑鞋商城
- 多用户下GIT使用SSH管理配置
- 需求整理步骤规范
- 接口文档模板参考
- Freemarker常用内建函数
- node.js mongoose的安装和使用
- IOS项目集成pdfNet框架
- 把iPad上面的签名添加到PDF文档上
- jquery中判断表单列表中某列是否存在重复项
- 对象池StackObjectPool使用
- 【企业网盘】存放在公有网盘上的数据还安全吗?