水题,判断某个数交换次数,只要数一下后面比他小的数的个数就可以了;
#include<iostream>
using namespace std;
int a[1002];
int main()
{
int n;
while(scanf("%d", &n) != EOF)
{
int i, j, ans = 0;
for( i=0; i < n; i++ )
scanf("%d", a+i);
for( i=0; i < n; i++ )
{
for( j=i+1; j < n; j++ )
{
if(a[i] > a[j])
ans++;
}
}
printf("%d\n", ans);
}
return 0;
}
本文介绍了一种简单的方法来计算一个整数序列中的逆序对数量,即对于每个数统计其后面比它小的数的个数。通过两层循环遍历数组,实现了基本的功能并输出了逆序对总数。
6万+

被折叠的 条评论
为什么被折叠?



