山东理工ACM 2554
来源:互联网 发布:中国儿童编程 编辑:程序博客网 时间:2024/04/27 13:23
题目描述
听说过冒泡排序么?很好玩很暴力的一种排序方式,但对于小数据也是很实用的哦。今天我们不希望你用它来排序,而是希望你能算出从小到大冒泡排序的过程中一共进行了多少次数据交换。
输入
输入数据的第一行为一个正整数 T ,表示有 T 组测试数据。
接下来T行,每行第一个整数N, 然后有N个整数,无序。0<N<100
输出
输出共 T 行。
每行一个整数,代表本行数据从小到大冒泡排序所进行的交换次数。
示例输入
35 1 2 3 4 54 5 3 7 12 2 1
示例输出
041
代码如下
#include<stdio.h>
int main()
{
int T,i,N,M,n,j=0,k=0,t=0,p,flag;
int a[1000];
scanf("%d",&T);
for(i=1;i<=T;i++)
{ flag=0;
p=0;
scanf("%d",&N);
M=N-1;
while(N--)
{
scanf("%d",&n);
a[p]=n;
p++;
}
for(j=0;j<M;j++)
for(k=0;k<M-j;k++)
if(a[k]>a[k+1])
{t=a[k],a[k]=a[k+1],a[k+1]=t,flag++;}
printf("%d\n",flag);
}
return 0;
}
0 0
- 山东理工ACM 2554
- 山东理工ACM:1196
- 山东理工ACM:1191
- 山东理工ACM:1174
- 山东理工ACM:1164
- 山东理工ACM:1172
- 山东理工ACM:1216
- 山东理工ACM:1168
- 山东理工ACM:1180
- 山东理工ACM:1334
- 山东理工ACM:2737
- 山东理工ACM:1154
- 山东理工ACM:1596
- 山东理工ACM:1238
- 山东理工ACM:1333
- 山东理工ACM:1244
- 山东理工ACM:1181
- 山东理工ACM[2444]正方形
- 基于winner 滤波平稳降噪效果
- quartz整合Spring注入Service时空指针异常问题解决
- Java多态的使用注意事项
- JS面向对象(智能社面向对象知识点总结)
- 数据库分类
- 山东理工ACM 2554
- SPRING事务
- iOS工程如何引用第三方类库
- 对象数组
- 9.19--9.27
- leetcode之Plus One
- 我的博客园博客
- C/C++ 笔试、面试题目大汇总2
- 【C#】匿名方法的终结者——Lambda表达式