一 点睛
选择式排序属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,经过和其他元素重整,再依原则交换位置后达到排序的目的。
二 选择排序思想
选择排序(select sorting)是一种简单的排序方法。它的基本思想是:第一次从 R[0]~R[n-1]中选取最小值,与 R[0]交换,第二次从 R[1]~R[n-1]中选取最小值,与 R[1]交换,第三次从 R[2]~R[n-1]中选取最小值,与 R[2]交换,…,第 i 次从 R[i-1]~R[n-1]中选取最小值,与 R[i-1]交换,…, 第 n-1 次从R[n-2]~R[n-1]中选取最小值,与 R[n-2]交换,总共通过 n-1 次,得到一个按排序码从小到大排列的有序序列。
三 图解
四 代码
package main
import (
"fmt"
)
// 完成选择排序,从大到小
func SelectSort(arr *[6]int) {
// 1 先完成将第一个最大值和 arr[0] 进行交换,先易后难
// 2 假设 arr[0] 最大值
for j := 0; j < len(arr)-1; j++ {
max := arr[j]
maxIndex := j
// 3 从 j+1 开始遍历,到 [len(arr) -1] 结束,和 max 进行比较