#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]<<" "; } }