我试图实现快速排序算法。但我有一个小问题,当我创建方法quickSort和作为params一个arrayToSort和两个整数高和low.Inside该方法我打电话给另一个方法分区(arrayToSort,low,high)改变数组(交换一些元素或smth。无关紧要),然后我递归调用具有相同参数的同一个方法quickSort:arrayToSort,low,high(同一个数组它被设置在顶部,作为head方法的参数)。什么数组作为参数将采用递归调用方法quickSort?首先安排的数组,还是由前一个方法改变的数组?执行这部分C#代码后会有什么行为?
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);
}
}