使用 Go 實現「選擇排序」

做法

首先在未排序的陣列中找到最小的元素,然後移動到已排序陣列的末端。

實作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
func SelectionSort(items []int) []int {
// 疊代每個元素
for i := 0; i < len(items); i++ {
// 記錄最小元素的索引
min := i

// 疊代未排序過的每個元素
for j := i + 1; j < len(items); j++ {
// 找到最小元素的索引
if items[min] > items[j] {
min = j
}
}

// 將當前元素與最小元素交換
temp := items[min]
items[min] = items[i]
items[i] = temp
}

return items
}

程式碼