数据结构之快排

来源:互联网 发布:linux查看根目录大小 编辑:程序博客网 时间:2024/06/10 02:36
/* * 快速排序: * 1,首先选定数组的一个坐标 * 2,将次坐标所对应的值与数组中其他的值进行比较,比他大的放在他的右边,比他小的放在他的左边 * 3,将2所分得的两个区分别进行第2步所做的操作 */public class QuickSort {public static int partition(int n[],int left,int right){int pvoid=n[left];int point;while(left<right){while(left<right &&n[right]>=pvoid){right--;}if(left<right && n[right]<pvoid){n[left]=n[right];n[right]=pvoid;left++;}while(left<right && n[left]<=pvoid){left++;}if(left<right && n[left]>pvoid){n[right]=n[left];n[left]=pvoid;right--;}}return left;}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 void main(String[] args){int[] n={2,3,3,1,0,5,7,1};quicksort(n,0,n.length-1);System.out.println("输出");for(int i=0;i<n.length;i++){System.out.print(n[i]+" ");}}}

0 0
原创粉丝点击