冒泡排序,并记录交换次数。
以下是我的代码:
#include<algorithm>
#include<cstdio>
using namespace std;
const int kMaxn(57);
int main()
{
/*
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
//*/
int T;
scanf("%d",&T);
while(T--)
{
int n;
scanf("%d",&n);
int r[kMaxn];
for(int i=1;i<=n;i++)
scanf("%d",&r[i]);
int ans(0);
for(int i=n;i>=2;i--)
for(int j=1;j<i;j++)
if(r[j]>r[j+1])
{
swap(r[j],r[j+1]);
ans++;
}
printf("Optimal train swapping takes %d swaps.\n",ans);
}
return 0;
}
posted on 2011-04-08 22:58
lee1r 阅读(399)
评论(0) 编辑 收藏 引用 所属分类:
题目分类:排序