我尝试实现此mergeSort()
方法而不使用 a return
,但无法将变量存储到调用方法中。例如,当我在第一个mergeSort(head)
:{3,2}上调用head
时,该方法将打印{2,3}意义列表实际上已正确排序,但在调用{{}的方法中1}},mergeSort()
仍然是{3,2}。有没有什么方法可以更新调用类中的变量?
对算法本身的评论也很受欢迎,但请保留评论部分。
head
答案 0 :(得分:0)
list = temp;
这一行使得方法中的list参数指向与您作为参数传递的列表不同的对象。
如下面的评论所示:
Instead of reasigning list=temp which creates a new entity. copy the contents of temp to list. list.clear(); Collections.copyList(list,temp)