首页 > 代码库 > 快速排序(升序)
快速排序(升序)
1、算法思想
通过一趟排序将要排序的数据分割成独立的两部分,其中左边的部分的所有数据都比右边的部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
2、算法实现
package test; public class QuickSort { public static void main(String[] args) { int[] n ={1,3,6,2,9,6,8,7}; quicksort(n,0,7); for (int i : n) { System.out.print(i+"\t"); } } public static void quicksort(int[] n,int left,int right){ int dp; if(left<right){ dp = partition(n,left,right); quicksort(n,left,dp-1); quicksort(n,dp+1,right); } } public static int partition(int[] n,int left,int right) { int pivot = n[left]; while(left<right){ while(left<right&&n[right]>=pivot) right--; if(left<right) n[left++]=n[right]; while(left<right&&n[left]<=pivot) left++; if(left<right) n[right--]=n[left]; } n[left]=pivot; return left; } }
快速排序(升序)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。