L
int main(){
long n;
long num=0;
scanf("%ld",&n);
int a[n];
for (int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int j=0;j<n-1;j++)
{
for(int k=j+1;k<n;k++){
if(a[j]>a[k]) num++;
}
}
printf("%ld",num);
◮:
◮:逆序数的定义:排列中前面的数大于后面的数的数对个数。代码:使用两层嵌套循环,外层循环遍历每个元素,内层循环遍历当前元素之后的所有元素,比较这两个元素的大小,如果前面的元素大于后面的元素,就将逆序数计数器加 1
浙公网安备 33010602011771号