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实现快速排序的主要内容,如果未能解决你的问题,请参考以下文章

数据结构-排序之快速排序(使用Java代码实现)

数据结构-排序之快速排序(使用Java代码实现)

快速排序Java代码简洁实现

Java实现快速排序详细代码

高级排序java实现(希尔归并快速)

2021-10-21java:六千字快速复习七种常用排序