首页 > 代码库 > 算法导论第7章___快速排序
算法导论第7章___快速排序
快速排序本质上是插入排序,但是它在这个基础上增强了算法。
下面我们来分析一下快速排序:
有了前面的分析基础,我们在来看排序算法也就容易多了。
public class Quick_Sort { private void quick_Sort(int []A,int left,int right){ if(left<right){ //划区比较,这个partition 第一次!得到的就是我们刚才说的2。 int partition=partition(A, left, right); //实现第一次划区的结果 show(A); //进行下一次划区, quick_Sort(A, left, partition-1); quick_Sort(A, partition+1, right); } } private int partition(int []A,int left,int right){ int x=A[right]; int i=left-1; for (int j = left; j <= right-1; j++) { if(A[j]<=x){ int exchange=A[++i]; A[i]=A[j]; A[j]=exchange; } } int exchange=A[++i]; A[i]=A[right]; A[right]=exchange; return i; } public void show(int A[]){ for(int a:A){ System.out.print(a+" "); } System.out.println(); } public static void main(String[] args) { int A[]={4,3,1,0,2}; Quick_Sort sort=new Quick_Sort(); sort.quick_Sort(A, 0, A.length-1); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。