Golang算法和数据结构

DoneIsBetter · · 1476 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

排序

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]


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:DoneIsBetter

查看原文:Golang算法和数据结构

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1476 次点击  ∙  1 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传