天天看點

算法入門之快速排序

快速排序原理:

快速排序先把等待排序的集合打亂順序,把第一個元素作為基準元素,為第二個元素和最後一個元素配置設定兩個指針i和j,如果a[i]小于基準元素則i++,如果a[j]大于基準元素則j--,這樣把大于基準元素的a[i]和小于基準元素的a[j]互換,以此類推,最終把基準元素與a[j]相交換,就得到一個a[j]左側全部小于a[j],右側全部大于a[j]的一個近似有序數組,然後按照如上步驟重新尋找每個被a[j]分開的數組中的分隔點,最終得到有序數組。

在通用排序中,一般都會選取快速排序來解決問題。

具體實作算法如下;

排序結果:

array(0,1,2,3,4,5,6,7,8,9);

繼續閱讀