排序算法:选择排序
1.简介
从无序数据中取出最小一个放入有序数据中,一直重复直到不存在无序数据。
2.图示

3.演示
package main
import "fmt"
func main() {
arr := []int{5, 3, 2, 1, 4}
newArr := selectionSort(arr)
fmt.Println(newArr)
}
func findSmallestIndex(arr []int) int {
smallestIndex := 0
smallest := arr[smallestIndex]
for i := 1; i < len(arr); i++ {
if arr[i] < smallest {
smallestIndex = i
smallest = arr[i]
}
}
return smallestIndex
}
func selectionSort(arr []int) []int {
newArr := make([]int, len(arr))
for i := 0; i < len(newArr); i++ {
smallestIndex := findSmallestIndex(arr)
newArr[i] = arr[smallestIndex]
arr = append(arr[:smallestIndex], arr[smallestIndex+1:]...)
}
return newArr
}
本文详细介绍了选择排序算法的工作原理,通过示例展示了如何用Python编写选择排序函数,并提供了代码片段。从无序数组中逐次选出最小元素插入已排序部分,适合初学者理解排序算法基础。


被折叠的 条评论
为什么被折叠?



