共计 1012 个字符,预计需要花费 3 分钟才能阅读完成。
导读 | 这篇文章主要为大家介绍了 Go 语言数据结构之选择排序示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 |
选择排序
选择排序(selection sort)是一种原地(in-place) 排序算法,适用于数据量较少的情况。由于选择操作是基于键值的且交换操作只在需要时才执行,所以选择排序长用于数值较大和键值较小的文件。
思想:
对一个数组进行排序,从未排序的部分反复找到最小的元素,并将其放在开头。
给定长度为 nnn 的序列和位置索引 i =0 的数组,选择排序将:
伪代码:
func selectionSort(nums []int, length int) {
for i := 0; i
动画演示
![Go 语言数据结构之选择排序示例 Go 语言数据结构之选择排序示例](https://www.xgss.net/wp-content/themes/puock/assets/img/z/load.svg)
Go 代码实现
package main
import "fmt"
func main() {unsorted := []int{40, 13, 20, 8, 12, 10, 27}
length := len(unsorted)
selectionSort(unsorted, length)
for i := 0; i nums[j+1] {minValue = nums[j+1]
minIdx = j + 1
}
}
// 如果最小值的位置改变,将当前的最小值位置保存
if i != minIdx {var temp = nums[i]
nums[i] = nums[minIdx]
nums[minIdx] = temp
}
}
}
运行结果为:
[Running] go run "e:\Coding Workspaces\LearningGoTheEasiestWay\Go 数据结构 \ 选择排序 \main.go"\
8 10 12 13 20 27 40
总结
选择排序的优点:
缺点:
稳定性:
以上就是 Go 语言数据结构之选择排序示例详解的详细内容
正文完
星哥说事-微信公众号
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)