MERGE-INVERSIONS(A, p, q, r )
n1 ← q − p + 1
n2 ←r − q
create arrays L[1 . . n1 + 1] and R[1 . . n2 + 1]
for i ← 1 to n1
do L[i ] ← A[p + i − 1]
for j ← 1 to n2
do R[ j ] ← A[q + j ]
L[n1 + 1]←∞
R[n2 + 1]←∞
i ← 1
j ← 1
inversions ← 0
counted ← FALSE
for k ← p to r
do if counted = FALSE and R[ j ] < L[i ]
then inversions ← inversions +n1 − i + 1
counted ← TRUE
if L[i ] ≤ R[ j ]
then A[k] ← L[i ]
i ← i + 1
else A[k] ← R[ j ]
j ← j + 1
counted ← FALSE
return inversions算法导论24页逆序对的题,上面的代码出自参考答案,里面涉及到一个变量counted,主要就是起到防止重复计数,但是每次counted变为true以后,马上会变为false,感觉没起到什么作用,求高手给出例子说明counted的用处,目前我用几组数据测试,有没有counted答案都是一样的,求高手解答