Go 选择排序
2021-04-22 本文已影响0人
ES_KYW
思路:从左往右i=0,每次遍历找出最小的值,替换。接着从i=1开始,找出右侧最小,替换。接着i=2,依次类推...,
每次遍历选出剩余未排序数组中的最小值放到当前未排序数组最前面
package main
import "fmt"
func main() {
arr := []int{3,2,1,5,3,3,3,4,4,4,0}
choose_order(arr)
fmt.Println(arr)
}
func choose_order(arr []int){
m := len(arr);
for i:=0;i<m-1;i++{
positon := i
for j:=i+1;j<m;j++{
if(arr[j]<arr[positon]){
positon = j
}
}
arr[i],arr[positon] = arr[positon],arr[i]
}
}
输出
[0 1 2 3 3 3 3 4 4 4 5]