快速排序是冒泡排序的改進版,也是最好的一種內排序,在不少面試題中都會出現,也是做爲程序員必須掌握的一種排序方法。程序員
思想:1.在待排序的元素任取一個元素做爲基準(一般選第一個元素,但最的選擇方法是從待排序元素中隨機選取一個做爲基準),稱爲基準元素;面試
2.將待排序的元素進行分區,比基準元素大的元素放在它的右邊,比其小的放在它的左邊;算法
3.對左右兩個分區重複以上步驟直到全部元素都是有序的。blog
因此我是把快速排序聯想成東拆西補或西拆東補,一邊拆一邊補,直到全部元素達到有序狀態。排序
下面再看看示圖理解下吧:程序
6.對元素5兩邊的元素也重複以上操做,直到元素達到有序狀態。方法
算法實現:im