【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing @163.com】
快速排序是程式設計中經常使用到的一種排序方法。可是很多朋友對快速排序有畏難情緒,認為快速排序使用到了遞歸,是一種非常複雜的程式,其實未必如此。隻要我們使用好了方法,就可以自己實作快速排序。
首先,我們複習一下,快速排序的基本步驟是什麼:
1、 判斷輸入參數的合法性
2、把數組的第一個資料作為比較的原點,比該資料小的資料排列在左邊,比該資料大的資料排列在右邊
3、按照(2)的方法分别對左邊的數組和右邊的資料進行和(2)一樣的資料排列
那麼實際編寫代碼中,應該怎麼做呢?
a)首先,判斷資料的合法性?
b)尋找中間數,分别對左邊和右邊的資料進行排序
c)那麼這裡的中間數應該怎麼安排呢?
注意:這裡gQuickSort是一個全局數組,主要是為了作為排序的臨時數組使用,實際環境中大家可以靈活運用各種方法。
d)基本的快速排序就完成了,那我們怎麼測試呢?我們可以編寫幾個簡單的測試用例?
【預告: 下一篇部落客要介紹合并排序的内容】