心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0

冒泡排序,并记录交换次数。
以下是我的代码:

#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 阅读(377) 评论(0)  编辑 收藏 引用 所属分类: 题目分类:排序

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理