Golang 选择排序
选择排序是一种排序算法,它通过反复寻找最小元素并将其放在数组未排序部分的首位来进行排序。在将最小元素放在数组的一端后,数组就被分成两个子部分,可以再次使用该算法进行排序。
举例来说
输入
arr[ ] = {2,9,4,3,5,1}
输出
1 2 3 4 5 9
解释
对给定的数组进行排序后,变成1,2,3,4,5,9。
算法 。
- 以一个整数的数组作为输入。
- 通过对数组的迭代找到最小元素的索引。
- 如果找到的数字是最小的,那么就与它的前一个元素交换。
- 现在返回排序后的数组。
例子
package main
import "fmt"
func Selection_Sort(array[] int, size int) []int {
var min_index int
var temp int
for i := 0; i < size - 1; i++ {
min_index = i
// Find index of minimum element
for j := i + 1; j < size; j++ {
if array[j] < array[min_index] {
min_index = j
}
}
temp = array[i]
array[i] = array[min_index]
array[min_index] = temp
}
return array
}
func main() {
var num = 7
array := []int{2,4,3,1,6,8,5}
fmt.Println(Selection_Sort(array, num))
}
运行上述代码将产生如下输出。
输出
[1 2 3 4 5 6 8]
给定的数组是:[2, 4, 3, 1, 6, 8, 5]。使用选择排序法对元素进行排序后,该数组将成为[1, 2, 3, 4, 5, 6, 8]。
极客教程