golang 选择排序算法

package main

import "fmt"

func main() {
	arr := []int{10, 2, 6, 8, 7, 5, 3, 4, 1, 9}
	selectSort(arr)
	fmt.Println(arr)
}
func selectSort(arr []int) {
	llen := len(arr)
	minVal := arr[0]
	minIndex := 0
	for i := 0; i < llen-1; i++ {
		minIndex = i
		minVal = arr[i]
                //选出最小的
		for j := i; j < llen; j++ {
			if arr[j] < minVal {
				minIndex = j
				minVal = arr[j]
			}
		}
		if minIndex != i {
			// 完成一轮,交换
			arr[i], arr[minIndex] = arr[minIndex], arr[i]
		}
	}

}

posted @ 2020-12-12 18:01  A毛毛  阅读(74)  评论(0编辑  收藏  举报