/*冒泡排序(优化版)*/
#include <iostream>
using namespace std;
void funca(int *a,int length)
{
if(a == NULL || length <= 0) return ;
int i,j;
int nflag;
int temp;
for(i=0; i<length-1; i++){
nflag =0 ;
for(j=0; j<length-i-1; j++){
if(a[j] > a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
nflag=j+1;
}
}
if(nflag == 0){
break;
}
i=length-nflag-1;
}
}
int main(){
int arr[] = {10,28,1,9,8,29,45,58,70,130};
funca(arr,sizeof(arr)/sizeof(arr[0]));
for(int i=0;i<sizeof(arr)/sizeof(arr[0]);i++){
cout<<arr[i]<<" ";
}
cout<<endl;
return 0;
}