冒泡排序
来源:互联网 发布:农产品网络销售方案 编辑:程序博客网 时间:2024/06/01 07:55
#include<iostream>using namespace std;//交换元素void swap(int &a,int &b){ int t; t=a;a=b;b=t;}//输出元素void print(int s[],int n){ for(int i=0;i<n;i++) cout<<s[i]<<'\t'; cout<<endl;}//经典的冒泡算法,n个元素,比较n-1趟,每趟比较n-i次void Bubblesort1(int s[],int n){ for(int i=1;i<=n;i++) for(int j=0;j<n-i;j++) if(s[j]>s[j+1]) swap(s[j],s[j+1]); print(s,n);}//改进的冒泡算法,使用标记,在有序无需交换时退出void Bubblesort2(int s[],int n){ int k=n; bool flag=true; while(flag) { flag=false; for(int i=1;i<n;i++) if(s[i-1]>s[i]){swap(s[i-1],s[i]);flag=true;} n--;//去掉已经排好的 } print(s,k);}//改进的冒泡算法,记录已经有序的位置,只比较无序的元素void Bubblesort3(int s[],int n){ int flag=n,k; while(flag>0) {k=flag; flag=0; for(int i=1;i<k;i++) if(s[i-1]>s[i]){swap(s[i-1],s[i]);flag=i;}} print(s,n);}//主函数int main(){int a[4]={3,2,1,4};Bubblesort1(a,4);Bubblesort2(a,4);Bubblesort3(a,4);}
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- git 修改commit
- PAT A 1077. Kuchiguse (20)
- bash下. : () {} [] [[]] (())的解释
- 第十四周阅读程序2
- 13.2 圆的比较
- 冒泡排序
- 【转载】Android提供的LruCache类简介
- JavaScript 引擎 SpiderMonkey
- D-Eclipse
- 第十四周--多态性、虚函数和抽象类(1)
- Oracle开发基本操作语句
- Socket.IO 和 Node.js 入门
- netmap 在x86上实验
- zoj 1029 贪心