经典排序算法——快速排序

Posted 四季万花筒

tags:

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

 1 public class QuickSort {
 2     public void quickSort(int[] a, int left, int right){
 3         int i, j, t, temp;
 4         if (left > right)
 5             return;
 6         
 7         temp = a[left]; //哨兵
 8         i = left;
 9         j = right;
10         while (i != j){
11             while (a[j] >= temp && i < j) //从右往左找
12                 j--;
13             while (a[i] <= temp && i < j) //从左往右找
14                 i++;
15             
16             if (i < j){
17                 t = a[i];
18                 a[i] = a[j];
19                 a[j] = t;
20             }
21         }
22         
23         a[left] = a[i];
24         a[i] = temp;
25         
26         quickSort(a, left, i-1);
27         quickSort(a, i+1, right);
28     }
29     
30     public static void main(String[] args){
31         //int[] arr = {8, 3, 1, 0, 5, 6, 2, 7, 1};
32         int[] arr = {25, 15,27,99,18,35,14,66};
33         new QuickSort().quickSort(arr, 0, arr.length-1);
34         for(int i : arr){
35             System.out.println(i);
36         }
37     }
38 }

 

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

[新星计划] Python手撕代码 | 十大经典排序算法

[新星计划] Python手撕代码 | 十大经典排序算法

九种经典排序算法详解(冒泡排序,插入排序,选择排序,快速排序,归并排序,堆排序,计数排序,桶排序,基数排序)

十大经典排序算法总结(基数排序)

十大经典排序算法总结(归并排序)

十大经典排序算法总结(桶排序)