python快排演算法如何將交叉變換轉換為單向變換?

如何將python快排演算法中交叉變換轉換為單向變換。

工具/原料

python

方法/步驟

在一個數組裡,i指標對應的是陣列的首位,j指標對應的是陣列的末位,j指標為活動指標。

python快排演算法如何將交叉變換轉換為單向變換

選擇陣列的第一個資料作為基準資料。

python快排演算法如何將交叉變換轉換為單向變換

在j指標對應的資料與基準資料進行比較時,如果j指標對應的資料小於基準資料,j指標對應的資料移動到基準資料的左邊。

python快排演算法如何將交叉變換轉換為單向變換

在正常情況下,當j指標對應的資料移動到基準資料的左邊後,活動指標從j指標移動到i指標的位置。

python快排演算法如何將交叉變換轉換為單向變換

為了避免發生了交叉移動,保證活動指標仍為j指標,將i指標所指的資料移動到j指標所在的位置

python快排演算法如何將交叉變換轉換為單向變換

j指標對應的資料小於基準資料,j指標對應的資料移動到基準資料的左邊。

python快排演算法如何將交叉變換轉換為單向變換

為了避免發生了交叉移動,保證活動指標仍為j指標,將i指標所指的資料移動到j指標所在的位置。

python快排演算法如何將交叉變換轉換為單向變換

j指標對應的資料大於基準資料,j指標對應的資料移動到基準資料的右邊。

python快排演算法如何將交叉變換轉換為單向變換

此時活動指標仍為j指標,j指標對應的資料大於基準資料,j指標對應的資料移動到基準資料的右邊。

python快排演算法如何將交叉變換轉換為單向變換

最後的排序結果如下圖所示。

python快排演算法如何將交叉變換轉換為單向變換

相關問題答案