概述
https://blog.csdn.net/vayne_xiao/article/details/53508973###;
public static int Partition(int[] a,int p,int r){
int x=a[r-1];
int i=p-1;
int temp;
for(int j=p;j<=r-1;j++){
if(a[j-1]<=x){
// 交换(a[j-1],a[i-1]);
i++;
temp=a[j-1];
a[j-1]=a[i-1];
a[i-1]=temp;
}
}
//交换(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);
}
}
//main方法中将数组传入排序方法中处理,之后打印新的数组
public static void main(String[] stra){
int[] a={7,10,3,5,4,6,2,8,1,9};
QuickSort(a,1,10);
for (int i=0;i<a.length;i++)
System.out.println(a[i]);
}
最后
以上就是儒雅宝马为你收集整理的我见过最通俗易懂的快速排序过程讲解,转自《坐在马桶上看算法:快速排序》的全部内容,希望文章能够帮你解决我见过最通俗易懂的快速排序过程讲解,转自《坐在马桶上看算法:快速排序》所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复