第1题:如下是冒泡排序算法的程序,其中有个优化:使用布尔型变量判断是否已经有序,如果是不用执行接下来的排序过程。
#include <iostream>
using namespace std;
const int maxn=20;
int n;
int a[maxn];
int main()
{
cin>>n;
for (int i=0; i<n; i++) cin>>a[i];
bool done;
do {
done=false ;
for ( int i=1; i<n; i++)
if (a[i-1]>a[i]){
int t=a[i-1];
a[i-1]=a[i];
a[i]=t;
done=true ;
}
}while ( done ) ;
for (int i=0; i<n; i++) cout<< a[i] <<" ";
cout<<endl;
return 0;
}