您的位置:首页 > 其它

冒泡排序法

2015-10-18 10:36 169 查看
冒泡排序法的基本思想是:
对待排序记录关键字从后往前(逆序)进行多遍扫描,当发现相邻两个关键字的次序与排序要求的规则不符时,就将这两个记录进行交换。这样,关键字较小的记录将逐渐从后面向前面移动,就象气泡在水中向上浮一样,所以该算法也称为气泡排序法。




# include <iostream>

using namespace std;

void Sort(int a[],int n){

int i,j,t,flag = 0;

for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
if(a[i]>a[j]){
t = a[i];
a[i] = a[j];
a[j] = t;
flag = 1;
}
}
}
}

//优化的冒泡排序
void Sort1(int a[],int n){

int i,j,t,flag = 0;
for(i=0;i<n-1;i++){//这里n-1的原因,6个数走5遍
for(j=n-1;j>0;j--){
if(a[j-1]>a[j]){
t = a[j-1];
a[j-1] = a[j];
a[j] = t;
flag = 1;
}
}

if(flag==0){
break;
}else{
flag = 0;
}
}

}

//升序
int main(){

int a[]={1,100,87,65,23,55,63,55,19,3};

Sort1(a,10);

for(int i=0;i<10;i++){
cout<<a[i]<<"   ";
}
cout<<endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: