您的位置:首页 > 其它

冒泡排序中数据交换的次数

2014-01-26 17:58 253 查看
冒泡排序中数据交换的次数

TimeLimit:1000MSMemorylimit:65536K

题目描述

听说过冒泡排序么?很好玩很暴力的一种排序方式,但对于小数据也是很实用的哦。今天我们不希望你用它来排序,而是希望你能算出从小到大冒泡排序的过程中一共进行了多少次数据交换。

输入

输入数据的第一行为一个正整数T,表示有T组测试数据。

接下来T行,每行第一个整数N,然后有N个整数,无序。0<N<100

输出

输出共T行。

每行一个整数,代表本行数据从小到大冒泡排序所进行的交换次数。

示例输入

3
512345
45371
221


示例输出

0
4
1


这个题嘛其实很简单,就是交换一次在条件下+1就可以。。

[code]#include<stdio.h>
intmain()
{
inta[100],i,j,n,m,t,g;
scanf("%d",&m);
while(m--)
{
ints=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
s++;
}
}
}
printf("%d\n",s);
}
return0;
}

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: