Welcome To HPU Online Judge!
1324: 冒泡排序变形 [水题]
时间限制: 1 Sec 内存限制: 128 MB提交: 304 解决: 134
题目描述
听说过冒泡排序么?很好玩很暴力的一种排序方式,但对于小数据也是很实用的哦。今天我们不希望你用它来排序,而是希望你能算出从小到大冒泡排序的过程中一共进行了多少次数据交换。
输入
输入数据的第一行为一个正整数 T ,表示有 T 组测试数据。
接下来T行,每行第一个整数N, 然后有N个整数,无序。
0<N<100
输出
每行一个整数,代表本行数据从小到大冒泡排序所进行的交换次数。
样例输入
3
5 1 2 3 4 5
4 5 3 7 1
2 2 1
样例输出
0 4 1 程序如下:#include<cstdio> int main() { int t; scanf("%d",&t); while(t--) { int n,a[103],i,j,ans=0,t; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); for(j=1;j<n;j++) for(i=0;i<n-j;i++) if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; ans++; } printf("%d\n",ans); } return 0; }