1
我一直在尝试使用快速排序和自下而上的合并排序来完成一个项目,但我被困在快速排序上。我已经能够想出一些代码,但每当我尝试运行我的程序时,我得到的错误“quickSort(int [],int,int)不能应用于(int [])”任何提示? 这里的代码...排序项目
import java.util.Random;
public class main {
public static void main(String[] args) {
Random gen = new Random();
int[] a = new int[20];
for (int i = 0; i < a.length; i++)
a[i] = gen.nextInt(100);
printArray(a);
quickSort(a);
}
private static void printArray(int[] a){
for (int i : a)
System.out.print(i + " ");
System.out.println("");
}
private static void quickSort(int a[], int left, int right){
int i = left, j = right;
int tmp;
int pivot = a[(left + right)/2];
while (i <= j) {
while (a[i] < pivot)
i++;
while (a[j] > pivot)
j--;
if (i <= j) {
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
i++;
j--;
}
}
if (left < j)
quickSort(a, left, j);
if (i < right)
quickSort(a, i, right);
}
为什么这个标签C++? – Marlon 2012-03-19 00:29:19