我的问题是我有两个函数,其中一个函数调用另一个函数,因为它多次执行此操作(rec),我想保存我在第二个函数中获得的值(在我的情况下称为 Mergesort)。我实际上是在使用 Merge Sort 对列表进行排序,但我想知道反转的数量,所以我想返回一个 int,但我不知道如何存储该值,所以我可以将所有值加在一起最后得到反转的数量(是的,我知道存在一个 O(n^2) 算法来找到这个)。我想你们中的大多数人都知道 MergeSort 算法,所以我不会把它全部写出来,但是从下面的代码中你可能会知道我在寻找什么。如果没有帮助,请尝试从我上面解释的内容中回答我的问题:)
public ArrayList MergeMerge(ArrayList A, int e, int a){
s=...;
MergeMerge(A,e,a);
MergeMerge(A,e-1,a);
MergeSort(A,e,r,s);
public ArrayList Mergesort (ArrayList A, int e, int a, int s) {
...
int inversions=0;
for (....)
....
else {
...
inversions=inversions+(s-i);
}