01_冒泡排序
来源:互联网 发布:淘宝如何买到正品耐克 编辑:程序博客网 时间:2024/06/10 03:03
#include <iostream>#include <vector>using namespace std;//相邻元素进行比较 每一趟都有最大元素排好template<typename Comp>void BubbleSort1(vector<Comp> &a) //经典冒泡排序 O(N^2){int i = 0;int j = 0;for(i = 0; i < a.size(); i++){for (int j = 1; j < a.size()-i; j++) {if (a[j-1] > a[j]){Comp tmp = a[j-1];a[j-1] = a[j];a[j] = tmp;}}}}template<typename Comp>void BubbleSort2(vector<Comp> &a) //优化冒泡排序{int i = 0;int j = 0;int flag = 1;//如果序列有序置0 无序置1for(i = 0; i < a.size() && flag; i++) //如果序列有序 则不需要再排序{flag = 0;for (int j = 1; j < a.size()-i; j++) {if (a[j-1] > a[j])//如果前置元素比后置元素大 则交换位置{flag = 1;Comp tmp = a[j-1];a[j-1] = a[j];a[j] = tmp;}}}}void main(){vector<int> a;a.push_back(8);a.push_back(3);a.push_back(6);a.push_back(1);cout << "排序前:";for(int i = 0; i < a.size(); i ++)cout << a[i] << " ";cout << endl;BubbleSort1(a);cout << "排序后:";for(int i = 0; i < a.size(); i ++)cout << a[i] << " ";cout << endl;system("pause");}
阅读全文
0 0
- 01_冒泡排序
- 01_选择排序和冒泡排序
- 排序_冒泡排序
- 数据结构_冒泡排序
- 数据结构_冒泡排序
- 冒泡_排序
- python _ 冒泡排序
- 冒泡排序_升序
- 排序算法_冒泡排序
- 排序学习_冒泡排序
- 选择排序_冒泡排序
- 排序算法-交换排序_冒泡排序
- 经典算法_冒泡排序
- C语言_冒泡排序
- 算法_冒泡排序算法
- JAVA_算法_冒泡排序
- 1.8_冒泡排序法
- 选择_冒泡 排序法
- Macaca之uirecorder使用
- Nginx对post请求的优化
- mysql函数
- 元组、列表、字典、字符串的遍历
- 软件工程概念总结
- 01_冒泡排序
- Android中View绘制流程以及invalidate()等相关方法分析
- 有限等距性质RIP
- B样条曲线的绘制
- LinearLayout嵌套自定义子布局gravity无效
- Android单位转换(px、sp、dp之间的转换)
- Git学习日记3
- .net使用Easyui+MVC进行图片上传的实现
- 如何解决eclipse中若出现Devices连接不上手机,并且Reset adb失败