学习笔记~
// @Author sunwenbo
// 2024/4/6 21:49
package main
import "fmt"
/*
选择排序基本介绍
选择式排序也属于内部排序法,是从预排序的数据中按指定的规则选出某一元素,经过和其他元素重整,再依原则交换位置后达到排序的目的
*/
// 编写selecrtsort 完成排序
func selectSort(arr *[6]int) {
// 标准的访问方式
// (*arr)[1] = 600
//arr[1] = 600 //等价上面的写法
// 1.先完成第一个大值和arr[0]
// 假设arr[0] 就是最大值
for j := 0; j < len(arr)-1; j++ {
min := arr[j]
minIndex := j
// 2. 遍历后面 1--[len(arr) - 1]比较
for i := j + 1; i < len(arr); i++ {
if min > arr[i] { //找到真正的最大值
min = arr[i]
minIndex = i
}
}
// 交换
if minIndex != j {
arr[j], arr[minIndex] = arr[minIndex], arr[j]
}
fmt.Printf("第%d次循环 %v\n", j+1, *arr)
}
}
func main() {
// 定义数组,从小到大排
arr := [6]int{10, 34, 19, 100, 80, 99}
selectSort(&arr)
fmt.Println("main函数")
fmt.Println(arr)
}