快速排序算法

快速排序算法採用了一種分治的策略,一般稱其爲分治法(Divide-and-ConquerMethod)。算法

該方法的基本思想是:ide

1.先從數列中取出一個數做爲基準數,通常選數列第一個或者最後一個。指針

2.分區過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。blog

3.再對左右區間重複第二步,直到各區間只有一個數。排序

步驟:搜索

1.選擇待排序列表中第一個做爲key,設置兩個指針low 和heigh,low=1,height=L.length;方法

2.從表的最右側位置開始依次向左搜索,找到第一個比key小的記錄,將其移到low處;im

3.從表的最左側位置開始依次向右搜索,找到第一個比key小的記錄,將起移到key處;margin

4.重複步驟2和3,直至low==height,此時low或height的位置爲key的最終位置,原表被分爲兩個子表。img

 

例子以下圖:

相關文章
相關標籤/搜索