【发布时间】:2017-03-26 21:08:08
【问题描述】:
我正在尝试实现快速排序算法。但是当我创建方法 quickSort 并给出一个 arrayToSort 和两个整数高低作为参数时,我有一个小问题。在该方法中,我正在调用另一个方法partition(arrayToSort,low,high) 改变数组(交换一些元素或smth。没关系),然后我用相同的参数递归调用相同的方法 quickSort:arrayToSort,low,high (相同作为 head 方法的参数排列在顶部的数组。)。作为参数的数组将采用递归调用的方法 quickSort?是最开始排列的数组,还是被前一种方法改变的?
public static void quickSort(int[] arrayToSort,int low,int high){
int pivotLocation = 0;
if (low < high) {
pivotLocation = partition (arrayToSort, low, high);
quickSort (arrayToSort, low, pivotLocation - 1);
quickSort (arrayToSort, pivotLocation + 1, high);
}
}
【问题讨论】: