随机快速排序问题
不知道哪里有问题!!!a不是全局变量么,为啥函数里用不了?
程序代码:
import java.util.Scanner; import java.util.Random; public class randomizedQuickSort { public static void main(String anr[]){ int[] a=new int[7]; a[6]=99999999; Scanner s = new Scanner(System.in); for(int i=1;i<6;i++) { System.out.println("请输入第"+i+"个数字"); a[i]=s.nextInt(); } int p = a[0],r = a[4]; System.out.println("插入排序后的顺序为:"); System.out.print(randomizedQuickSort(p,r)); } private static void randomizedQuickSort(int p,int r) { if(p<r) { int q = randomizedPartition(p,r); randomizedQuickSort(p,q-1); randomizedQuickSort(q+1,r); } } private static int randomizedPartition(int p,int r) { int i = random(p,r); Math.swap(a,i,p); return partition(p,r); } private static int partition(int p,int r) { int i = p, j = r+1; Comparable x = a[p]; while(true) { while(a[++i].compareTo(x)<0&&i<r); while(a[--j].compareTo(x)>0); if(i>=j)break; Math.swap(a,i,j); } a[p]=a[j]; a[j]=x; return j; } }