扫码订阅《 Go语言基础》或入驻星球,即可阅读文章!

GOLANG ROADMAP

阅读模式

  • 沉浸
  • 自动
  • 日常
首页
Go友会
  • 城市
  • 校园
Go学院
  • Go小课
  • Go小考
  • Go实战
  • 精品课
Go求职
  • 求职辅导🔥
  • Offer收割社群
  • 企业题库
  • 面试宝典
Go宝典
  • 在线宝典
  • B站精选
  • 推荐图书
  • 每日博文
Go仓库
实验区
  • Go周边
  • Go下载
  • Go月刊
消息
更多
  • 用户中心

    • 我的信息
    • 推广返利
  • 玩转星球

    • 星球介绍
    • 角色体系
    • 星主权益
  • 支持与服务

    • 联系星主
    • 成长记录
    • 常见问题
    • 吐槽专区
  • 合作交流

    • 渠道合作
    • 课程入驻
    • 友情链接
author-avatar

GOLANG ROADMAP


首页
Go友会
  • 城市
  • 校园
Go学院
  • Go小课
  • Go小考
  • Go实战
  • 精品课
Go求职
  • 求职辅导🔥
  • Offer收割社群
  • 企业题库
  • 面试宝典
Go宝典
  • 在线宝典
  • B站精选
  • 推荐图书
  • 每日博文
Go仓库
实验区
  • Go周边
  • Go下载
  • Go月刊
消息
更多
  • 用户中心

    • 我的信息
    • 推广返利
  • 玩转星球

    • 星球介绍
    • 角色体系
    • 星主权益
  • 支持与服务

    • 联系星主
    • 成长记录
    • 常见问题
    • 吐槽专区
  • 合作交流

    • 渠道合作
    • 课程入驻
    • 友情链接
  • 课程介绍

    • 《Go语言基础》
  • 入门简介

  • 基础语法

  • 流程语句

  • 数组和切片

    • 第1节:什么是数组
    • 第2节:数组的遍历
    • 第3节:多维数组
    • 第4节:数组是值类型
    • 第5节:数组的排序
    • 第6节:切片(Slice)的初步使用
    • 第7节:切片的长度和容量
    • 第8节:append() 和 copy() 函数
  • Map

  • string

  • 函数

  • 指针

  • 结构体

  • 方法

  • 接口

  • 错误

扫码订阅《 Go语言基础》或入驻星球,即可阅读文章!

第5节:数组的排序


GOLANG ROADMAP

# 一、排序算法

数组的排序,就是让一个数组中的数据,根据一定的算法,最终是数值有顺序的,可以从小到大(升序),也可以从大到小(降序)。默认是升序。

排序算法也有很多种,冒泡排序,选择排序,插入排序,希尔排序,快速排序,堆排序等等。。

# 二、冒泡排序

冒泡排序:(Bubble Sort)依次比较两个相邻的元素,如果他们的顺序(如从大到小)就把他们交换过来。

示例代码:

package main

import "fmt"

func main() {
    /*
    数组的排序:
        让数组中的元素具有一定的顺序。

        arr :=[5]int{15,23,8,10,7}
            升序:[7,8,10,15,23]
            将序:[23,15,10,8,7]

    排序算法:
        冒泡排序,插入排序,选择排序,希尔排序,堆排序,快速排序。。。。

    冒泡排序:(Bubble Sort)
        依次比较两个相邻的元素,如果他们的顺序(如从大到小)就把他们交换过来。
     */
    arr := [5]int{15, 23, 8, 10, 7}
    ////第一轮排序
    //for j := 0; j < 4; j++ {
    //  if arr[j] > arr[j+1] {
    //      arr[j], arr[j+1] = arr[j+1], arr[j]
    //  }
    //}
    //fmt.Println(arr)
    //
    ////第二轮排序
    //for j:=0;j<3;j++{
    //  if arr[j] > arr[j+1] {
    //      arr[j], arr[j+1] = arr[j+1], arr[j]
    //  }
    //}
    //fmt.Println(arr)

    for i:=1;i arr[j+1] {
                arr[j], arr[j+1] = arr[j+1], arr[j]
            }
        }
        fmt.Println(arr)
    }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  • 一、排序算法
  • 二、冒泡排序