快排的思想:
1.先從數組中取出一個數作為基準數;
2.分區過程,將比這個數大的數全部放到它的右邊,小于或等于它的數全部放到它的左邊;
3.再對左右區間進行第二步,直到各區間只有一個數。
快排思路:
可以用補洞思路來實現上邊的快排思想,簡單來說就是挖洞之后,補洞。
挖一個洞來補洞,目的是要把數分到兩邊。
圖一
圖二
執行完畢后,比基準數小的在左邊,比基準數大的在右邊。因此對這兩部分重復這個歌步驟就可以了。
注意:
1.洞在左邊代表左邊部分已經排好都是比基準數小的,洞在右邊代表右邊部分已經排好都是比基準數大的。
2.要補左邊的洞從后往前比基準數小的,j遞增;要補右邊的洞從前往后比基準數大的,i遞增。