选择排序

https://github.com/mohuishou/go-sort

说明

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。

示例

示例图片

实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package selection

//Sort 选择排序
func Sort(arr []int) {
var LEN = len(arr)
minIndex := 0
for i := 0; i < LEN; i++ {
minIndex = i
for j := i; j < LEN; j++ {
if arr[minIndex] > arr[j] {
minIndex = j
}
}
if minIndex != i {
arr[minIndex], arr[i] = arr[i], arr[minIndex]
}
}
}