1. 操作原理
奇偶排序法將排序過程分為奇數階段和偶數階段,交替進行比較和交換,類似於氣泡排序但更適合並行處理。
重點:奇偶排序是一種並行友好的排序方法。
核心流程為:奇數階段比較、偶數階段比較、交替重複,適合多核心處理器。
4. 偽代碼及實作範例
function oddEvenSort(arr) {
let n = arr.length;
let sorted = false;
while (!sorted) {
sorted = true;
// 奇數階段:比較奇數索引與偶數索引
for (let i = 1; i < n - 1; i += 2) {
if (arr[i] > arr[i + 1]) {
// 交換元素
let temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
sorted = false;
}
}
// 偶數階段:比較偶數索引與奇數索引
for (let i = 0; i < n - 1; i += 2) {
if (arr[i] > arr[i + 1]) {
// 交換元素
let temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
sorted = false;
}
}
}
return arr;
}