java实现快速排序
Posted aozorazy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java实现快速排序相关的知识,希望对你有一定的参考价值。
选定一个基准值(数据第一个元素),将比基准值大的都挪到右边,比基准值小的都挪到左边,最后找到基准值的位置并返回。
左右都递归进行。
1 package practice; 2 3 public class Qsort { 4 5 public static int partition(int [] arr,int low,int high) 6 { 7 int key =arr[low]; 8 while (low<high) 9 { 10 while (arr[high]>key&&low<high ) 11 high--; 12 arr[low]=arr[high]; 13 while (arr[low]<key &&low<high ) 14 low++; 15 arr[high]=arr[low]; 16 } 17 18 arr[low]=key; 19 return low; 20 } 21 22 public static void quicksort(int []arr,int low,int high ) 23 { 24 if(low<high) 25 { 26 int mid=partition(arr,low,high); 27 quicksort(arr,low,mid-1); 28 quicksort(arr,mid+1,high); 29 } 30 } 31 32 public static void quick(int []arr) 33 { 34 if(arr.length>0) 35 { 36 quicksort(arr,0,arr.length-1); 37 } 38 } 39 40 }
以上是关于java实现快速排序的主要内容,如果未能解决你的问题,请参考以下文章