如何將python快排演算法中交叉變換轉換為單向變換。
工具/原料
python
方法/步驟
在一個數組裡,i指標對應的是陣列的首位,j指標對應的是陣列的末位,j指標為活動指標。
選擇陣列的第一個資料作為基準資料。
在j指標對應的資料與基準資料進行比較時,如果j指標對應的資料小於基準資料,j指標對應的資料移動到基準資料的左邊。
在正常情況下,當j指標對應的資料移動到基準資料的左邊後,活動指標從j指標移動到i指標的位置。
為了避免發生了交叉移動,保證活動指標仍為j指標,將i指標所指的資料移動到j指標所在的位置
j指標對應的資料小於基準資料,j指標對應的資料移動到基準資料的左邊。
為了避免發生了交叉移動,保證活動指標仍為j指標,將i指標所指的資料移動到j指標所在的位置。
j指標對應的資料大於基準資料,j指標對應的資料移動到基準資料的右邊。
此時活動指標仍為j指標,j指標對應的資料大於基準資料,j指標對應的資料移動到基準資料的右邊。
最後的排序結果如下圖所示。