冒泡排序 cpp实现

#include<bits/stdc++.h>
using namespace std;
void Bubblesort(int a[],int n){
    for(int i=0;i<n-1;i++){
        int flag = 0;
        for(int j=0;j<n-i-1;++j){   //注意内层是n-i-1就行
            if(a[j]>a[j+1]){
                int temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
                flag=1;             //发生交换,改变flag值
            }
            if(flag==0 && j==n-i-1){
                return;             //如果内层循环一次结束都没有发生交换,说明已经排好顺序了,减少排序趟数
            }
        }//j
    }//i
}
int main(){
    int a[10]={3,9,6,4,2,1,0,32,4,23};
    int n=10;
    Bubblesort(a,n);
    for(int i=0;i<n;i++){
        cout<<a[i]<<" ";
    }
}

 

posted on 2019-03-18 15:09  孤笑  阅读(624)  评论(0编辑  收藏  举报