1. 程式人生 > >常用算法的理解

常用算法的理解

指向 spa 規則 選中 排序 元素 color 快速排序 進行

1. 快速排序

思想: 基於分治的思想,將數組劃分成兩個部分,再對每個部分進行排序。

怎樣做到將數組劃分成兩個部分呢?首先在選中一個基點,假如選擇array[r](最右邊元素)為基點,i和j分別從左和右向數組內部掃描,首先從左邊i處開始,按照左邊的元素都比基點小,右邊的元素都比基點大的原則,如有違背,則調換a[i]的和基點的值, 此時a[i]指向的是當前位置,開始移動j的位置,按照上述規則,i和j依次移動,直到a[i]和a[j]重合,此時把基準點的值放到a[i]的位置,此時基準點值所在位置就是正常排序後它所在的正確位置。完成了一次排序。

常用算法的理解