• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go排序练习

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、插入排序

类似扑克起牌,每起一张牌都按大小将牌放到合适的位置

package main

import "fmt"

func insert(a [8]int) [8]int {
    for i := 1; i < len(a); i++ {
        for j := i; j > 0; j-- {
            if a[j] < a[j-1] {
                a[j], a[j-1] = a[j-1], a[j]
            } else {
                break
            }
        }
    }
    return a
}

func main() {
    var i [8]int = [8]int{45, 2, 5, 68, 3, 43, 7, 9}
    j := insert(i)
    fmt.Println(i)
    fmt.Println(j)
}

输出:
[45 2 5 68 3 43 7 9]
[2 3 5 7 9 43 45 68]

 

2、选择排序

选出最小的数字,排在第1位,第二小的,拍在第2位,以此类推

package main

import "fmt"

func choose(a [8]int) [8]int {
    for i := 0; i < len(a); i++ {
        for j := i + 1; j < len(a); j++ {
            if a[j] < a[i] {
                a[i], a[j] = a[j], a[i]
            }
        }
    }
    return a
}

func main(){
    var i [8]int = [8]int{45, 2, 5, 68, 3, 43, 7, 9}
    j :=choose(i)
fmt.Println(i)
fmt.Println(j)
}

输出:
[45 2 5 68 3 43 7 9]
[2 3 5 7 9 43 45 68]

 

3、冒泡排序

package main

import "fmt"

func bubble(a [8]int) [8]int {
    for i := 0; i < len(a); i++ {
        for j := 0; j < len(a)-i-1; j++ {
            if a[j] > a[j+1] {
                a[j], a[j+1] = a[j+1], a[j]
            }
        }
    }
    return a
}

func main() {
    var i [8]int = [8]int{45, 2, 5, 68, 3, 43, 7, 9}
    j := bubble(i)
    fmt.Println(i)
    fmt.Println(j)
}

输出:
[45 2 5 68 3 43 7 9]
[2 3 5 7 9 43 45 68]

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go语言从入门到精通-02 | 函数和控制语句发布时间:2022-07-10
下一篇:
go语言的学习之路发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap