class Qsort{
    
     public static void swap(int[] a,int i,int j)
     {
      int tmp=a[i];a[i]=a[j];a[j]=tmp;
     }           public static int partition(int[] a,int low,int high){    int pivot;  //pivot暂存变量    pivot=a[low];
    
    while(low<high)  //high-low>1 才排序
    {  
      while(low<high&&a[low]<a[high])  high--;
      if(low<high)
      { 
       swap(a,low,high);
       low++;
}
      while(low<high&&a[low]<a[high])  low++;
      if(low<high)
      {
      swap(a,low,high);
      high--;
      }
   }
   a[low]=pivot;
   
   returen low;
   }public static void quicksort(int[] a,int low,int high){
int pivot;
if (low<high){
pivot=partition(a,low,high);
quicksort(a,low,pivot-1);
quicksort(a,pivot+1,high);
}
}public static void main(String[] args){
int[] a1;
a1=new int[20];
for(int j=0;j<a1.length;j++){
a1[j]=(int)(a1.length*Math.random());
System.out.print(a[i]);
}
System.out.println("*********");
   quicksort(a1,0,a1.length);
for(int j=0;j<a1.length;j++){
   System.out.print(a[i]);
}

}
}
-----------------------------------------
大概情况就是这样了,我没有上机测试,有小错误也可能!