冒泡排序
2016-06-20 15:12
288 查看
冒泡排序是稳定排序法,空间复杂度最佳o(1),只需一个额外空间,平均复杂度为n^2,最坏情况下的复杂度为n^2,最好情况下的复杂度为n。冒泡排序即依次与相邻两个数字进行比较,每一趟选出一个最大的数,且为了减小比较的趟数,其结束的条件为在一趟排序中没有进行过交换的记录。
#include<iostream> #include<stdlib.h> using namespace std; int main() { int temp,n; int num[5]; for(int i=0;i<5;i++) { cin>>num[i]; }for(int i=0;i<5;i++) { n=0; for(int j=0;j<5-i-1;j++) { if(num[j]>num[j+1]) { temp=num[j+1]; num[j+1]=num[j]; num[j]=temp; n++; } } if(n==0) //如果序列已经排序好了,即跳出循环,不用再进行比较了 break; } for(int i=0;i<5;i++) { cout<<num[i]; } system("pause"); return 0; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 冒泡排序
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C#冒泡法排序算法实例分析
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例