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

来源:互联网 发布:彩票模拟关注软件 编辑:程序博客网 时间:2024/06/11 09:40

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

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

Problem Description

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

Input

输入数据的第一行为一个正整数 T ,表示有 T 组测试数据。
接下来T行,每行第一个整数N, 然后有N个整数,无序。0<N<100

Output

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

Example Input

35 1 2 3 4 54 5 3 7 12 2 1

Example Output

041
#include<stdio.h>int main(){    int a, b, c[100], d, e, f[100]={0}, i ,g;    scanf("%d", &a);    for(b=0;b<a;b++)    {        i=b;        scanf("%d", &d);        for(g=0;g<d;g++)        {            scanf("%d", &c[g]);        }        for(g=0;g<d;g++)        {            for(e=0;e<g;e++)            {                if(c[e]>c[g])                    {                        f[i]++;                    }            }        }    }    for(b=0;b<a;b++)    {        printf("%d\n",f[b]);    }    return 0;}

0 0