初始序列 `(5,2,6,3,8)`,以第一個記錄 `5` 為基准進行一趟快速排序,結果為何?
快速排序划分過程**依賴具體實現**(Hoare/Lomuto/雙向掃描),**同一基准可能產生不同合法划分結果**,只要滿足:
左側 ≤ 基准 ≤ 右側,基准位於最終位置。
| 選項 | 序列 | 基准5位置 | 左側≤5 | 右側≥5 | 合法性 |
|---|---|---|---|---|---|
| A | 2,3,5,8,6 | 索引2 | 2,3 ✓ | 8,6 ✓ | ✓ |
| B | 3,2,5,8,6 | 索引2 | 3,2 ✓ | 8,6 ✓ | ✓ |
| C | 3,2,5,6,8 | 索引2 | 3,2 ✓ | 6,8 ✓ | ✓ |
| D | 2,3,6,5,8 | 索引3 | 2,3,6 ✗(6>5) | 8 ✓ | ✗ |
A、B、C 均為合法一趟划分結果,**D 不合法**(左側含 6 > 5)。
具體得哪個取決於划分算法實現細節(如是否交換相等元素、掃描方向)。