java算法----排序----快速排序

Posted 念念不忘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java算法----排序----快速排序相关的知识,希望对你有一定的参考价值。

 1 package log;
 2 
 3 public class Test4 {
 4 
 5     /**
 6      * java算法---快速排序
 7      * 
 8      * @param args
 9      */
10     public static void main(String[] args) {
11         // 需要排序的数组
12         int arr[] = { 49, 20, 36, 51, 18, 94, 61, 31, 50 };
13         // 循环输出该数组内容
14         System.out.println("排序之前:");
15         for (int a : arr) {
16             System.out.print(a + "\\t");
17         }
18         System.out.println();
19 
20         if (arr.length > 0) {
21             sort(arr, 0, arr.length - 1);
22         }
23         // 循环输出该数组内容
24         System.out.println("排序之后:");
25         for (int a : arr) {
26             System.out.print(a + "\\t");
27         }
28         System.out.println();
29 
30     }
31 
32     public static int getMiddle(int[] list, int low, int high) {
33         int temp = list[low];
34         while (low < high) {
35             while (low < high && list[high] >= temp) {
36                 high--;
37             }
38             list[low] = list[high];
39             while (low < high && list[low] <= temp) {
40                 low++;
41             }
42             list[high] = list[low];
43         }
44         list[low] = temp;
45         return low;
46     }
47 
48     public static void sort(int[] list, int low, int high) {
49         if (low < high) {
50             int middle = getMiddle(list, low, high);
51             sort(list, low, middle - 1);
52             sort(list, middle + 1, high);
53         }
54     }
55 
56 }

下面这事控制台的输出

以上是关于java算法----排序----快速排序的主要内容,如果未能解决你的问题,请参考以下文章

Java排序算法 - 堆排序的代码

快速排序算法(Java实现)

Java 快速排序算法

java代码[No.4]—快速排序算法的三种方式及其优化

排序算法之快速排序(Java)

排序算法之快速排序(Java)