分享
Golang算法和数据结构
DoneIsBetter · · 1943 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
排序
2.选择排序
package main
import "fmt"
//从未排序数组中找到最小元素,将它和数组第1个元素交换,在剩下数组中找到最小元素,与第2个数组交换...
func SelectSort(arr *[5]int) {
n := len(arr)
for i := 0; i < n-1; i++ {
min_idx := i
for j := i + 1; j < n; j++ {
if arr[j] < arr[min_idx] {
min_idx = j
}
}
if min_idx != i {
arr[i], arr[min_idx] = arr[min_idx], arr[i]
}
fmt.Printf("第%d次排序 %v\n", i+1, *arr)
}
}
func main() {
arr := [5]int{2, 9, 5, 7, 1}
SelectSort(&arr)
}
第1次排序 [1 9 5 7 2]
第2次排序 [1 2 5 7 9]
第3次排序 [1 2 5 7 9]
第4次排序 [1 2 5 7 9]
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1943 次点击 ∙ 1 赞
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
排序
2.选择排序
package main
import "fmt"
//从未排序数组中找到最小元素,将它和数组第1个元素交换,在剩下数组中找到最小元素,与第2个数组交换...
func SelectSort(arr *[5]int) {
n := len(arr)
for i := 0; i < n-1; i++ {
min_idx := i
for j := i + 1; j < n; j++ {
if arr[j] < arr[min_idx] {
min_idx = j
}
}
if min_idx != i {
arr[i], arr[min_idx] = arr[min_idx], arr[i]
}
fmt.Printf("第%d次排序 %v\n", i+1, *arr)
}
}
func main() {
arr := [5]int{2, 9, 5, 7, 1}
SelectSort(&arr)
}
第1次排序 [1 9 5 7 2]
第2次排序 [1 2 5 7 9]
第3次排序 [1 2 5 7 9]
第4次排序 [1 2 5 7 9]