亲测
public class QuickSort {
public static int Partition(int a[],int p,int r){
int x=a[r-1]
int i=p-1
int temp
for(int j=pj<=r-1j++){
if(a[j-1]<=x){
// swap(a[j-1],a[i-1])
i++
temp=a[j-1]
a[j-1]=a[i-1]
a[i-1]=temp
}
}
//swap(a[r-1,a[i+1-1])
temp=a[r-1]
a[r-1]=a[i+1-1]
a[i+1-1]=temp
return i+1
}
public static void QuickSort(int a[],int p,int r){
if(p<r){
int q=Partition(a,p,r)
QuickSort(a,p,q-1)
QuickSort(a,q+1,r)
}
}
public static void main(String[] stra){
int a[]={23,53,77,36,84,76,93,13,45,23}
QuickSort(a,1,10)
for (int i=1i<=10i++)
System.out.println(a[i-1])
}
}
快速排序法:快速排序法号称是目前最优秀的算法之一,实现思路是,将一个数组的排序问题看成是两个小数组的排序问题,而每个小的数组又可以继续看成更小的两个数组,一直递归下去,直到数组长度大小最大为2