目前,最常見的排序演算法大概有七八種,其中"快速排序"(Quicksort)使用得最廣泛,速度也較快。它是圖靈獎得主 東尼·霍爾(C. A. R. Hoare)於1960時提出來的。 快速排序"的思想很簡單,整個排序過程只需要三步: (1)在數據集之中,選擇一個元素作為"基準"(pivot)。 (2) ...
目前,最常見的排序演算法大概有七八種,其中"快速排序"(Quicksort)使用得最廣泛,速度也較快。它是圖靈獎得主 東尼·霍爾(C. A. R. Hoare)於1960時提出來的。
![](https://images2018.cnblogs.com/blog/1188348/201807/1188348-20180710224108478-1114319687.jpg)
![](https://images2018.cnblogs.com/blog/1188348/201807/1188348-20180710224642898-571678546.gif)
- 從數列中挑出一個元素,稱為 “基準”(pivot);
- 重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面(相同的數可以到任一邊)。在這個分區退出 之後,該基準就處於數列的中間位置。這個稱為分區(partition)操作;
- 遞歸地(recursive)把小於基準值元素的子數列和大於基準值元素的子數列排序;