C++ 您如何计算气泡排序将执行多少掉期交易?

C++ 您如何计算气泡排序将执行多少掉期交易?,c++,algorithm,sorting,bubble-sort,C++,Algorithm,Sorting,Bubble Sort,n个整数的任意数组的气泡排序按以下方式工作: var int i, j; for i from n downto 1 { for j from 1 to i-1 { if (A[j] > A[j+1]) swap(A[j], A[j+1]) } } 给您一个由n个整数组成的数组B 然后使用数组B创建数组A,如下所示: 对于每个i(1作为提示-气泡排序中的交换数等于数组中的。有一个著名的分治算法来计算时间O(n log n)中数组中的反转数-你能

n个整数的任意数组的气泡排序按以下方式工作:

var int i, j; 
for i from n downto 1 
{ 
  for j from 1 to i-1 
  { 
    if (A[j] > A[j+1]) 
    swap(A[j], A[j+1]) 
  } 
}
给您一个由n个整数组成的数组B

然后使用数组B创建数组A,如下所示:
对于每个i(1作为提示-气泡排序中的交换数等于数组中的。有一个著名的分治算法来计算时间O(n log n)中数组中的反转数-你能想出如何做到这一点吗


希望这会有所帮助!

欢迎使用Stack Overflow。如果您提供迄今为止所做工作的示例,并针对您遇到的确切问题提出问题,您将有更好的机会获得问题的帮助。因此,为了澄清问题,您试图找到的是特定输入所需的交换数量,还是软件数量平均aps(计算复杂度)?标题是一个DeMaster…一步一步地解决问题,首先尝试对4个整数的数组进行排序,然后一直到最后一个阶段
1 <= T <= 5
1 <= n <= 50000
1 <= Bi, d <= 10^9
0 <= Pi, <= 100
Example

Input:
2
2 7
4 7
50 50
4 7
5 6 1 7
25 74 47 99

Output:
0.2500
1.6049