zoukankan      html  css  js  c++  java
  • Go排序练习

    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]
  • 相关阅读:
    安装pipenv
    ModuleNotFoundError: No module named 'pip._internal' , pip 无法下载软件 解决办法
    1.3用户列表 and 新闻列表
    1.2用户统计页面实现
    1.5发布新闻
    七牛云平台(存储图片)
    1.2头像设置功能
    1.4用户收藏展示
    1.3密码修改
    1.2首页刷新以及点击排行
  • 原文地址:https://www.cnblogs.com/lamp01/p/10907444.html
Copyright © 2011-2022 走看看