Go+ 排序教程(4.1)

举报
liuzhen007 发表于 2021/11/21 22:09:06 2021/11/21
【摘要】 目录 Go+ 概述 排序 整型排序 浮点型排序 字符串类型排序 Go+ 概述 Go+ 是一门融合工程开发的 Go、数据科学领域的 Python、编程教学领域的 Scratch,以 Python 之形结合 Go 之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低的编程语言。 排序 ...

目录

Go+ 概述

排序

整型排序

浮点型排序

字符串类型排序


Go+ 概述

Go+ 是一门融合工程开发的 Go、数据科学领域的 Python、编程教学领域的 Scratch,以 Python 之形结合 Go 之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低的编程语言。

排序

Go+ 支持对数据切片或者数组进行排序,使用的工具库是 sort 包,导入方式如下:


      import (
         "sort"
      )
  
 

接下来,我们进行详细介绍。

整型排序

Go+ 利用 sort 包可以对整型数据进行排序,下面是示例代码: 


      import (
         "sort"
      )
      arr := [101, 32, 25, 7, 1, 213, 66, 19]
      println("排序前:", arr)
      sort.Ints(arr)
      println("排序前:", arr)
  
 

上述代码输出结果:

排序前: [101 32 25 7 1 213 66 19]
排序前: [1 7 19 25 32 66 101 213]

运行结果截图:

也可以自己尝试:请点我

对切片和数组进行排序后,我们还可以使用 IntsAreSorted() 方法对切片和数组进行判断,是否已经进行过排序,IntsAreSorted() 方法原型如下:

func IntsAreSorted(a []int) bool

下面是示例代码:


      import (
         "sort"
      )
      arr := [101, 32, 25, 7, 1, 213, 66, 19]
      println("排序前:", arr)
      sort.Ints(arr)
      println("排序前:", arr)
      res := sort.IntsAreSorted(arr)
      println("已经排序:", res)
  
 

上述代码输出结果:

排序前: [101 32 25 7 1 213 66 19]
排序前: [1 7 19 25 32 66 101 213]
已经排序: true

运行结果截图:

 也可以自己尝试:请点我

浮点型排序

Go+ 利用 sort 包可以对浮点型数据进行排序,下面是示例代码: 


      import (
         "sort"
      )
      arr := [10.1, 3.2, 2.5, 0.7, 1.0, 2.13, 6.6, 1.9]
      println("排序前:", arr)
      sort.Float64s(arr)
      println("排序前:", arr)
  
 

上述代码输出结果:

排序前: [10.1 3.2 2.5 0.7 1 2.13 6.6 1.9]
排序前: [0.7 1 1.9 2.13 2.5 3.2 6.6 10.1]

运行结果截图:

 也可以自己尝试:请点我

同样,浮点型数据也有对应的方法检测切片是否已经递增排序,方法原型如下:

func Float64sAreSorted(a []float64) bool

下面是示例代码:


      import (
         "sort"
      )
      arr := [10.1, 3.2, 2.5, 0.7, 1.0, 2.13, 6.6, 1.9]
      println("排序前:", arr)
      sort.Float64s(arr)
      println("排序前:", arr)
      res := sort.Float64sAreSorted(arr)
      println("已经排序:", res)
  
 

上述代码输出结果:

排序前: [10.1 3.2 2.5 0.7 1 2.13 6.6 1.9]
排序前: [0.7 1 1.9 2.13 2.5 3.2 6.6 10.1]
已经排序: true

运行结果截图:

字符串类型排序

Go+ 利用 sort 包可以对字符串类型的数据进行排序,下面是示例代码: 


      import (
         "sort"
      )
      arr := ["a", "hello", "world", "b", "good", "x", "zZ", "A"]
      println("排序前:", arr)
      sort.Strings(arr)
      println("排序前:", arr)
  
 

上述代码输出结果:

排序前: [a hello world b good x zZ A]
排序前: [A a b good hello world x zZ]

运行结果截图:

也可以自己尝试:请点我

同样,字符串类型数据也有对应的方法检测切片是否已经递增排序,方法原型如下:

func StringsAreSorted(a []string) bool

下面是示例代码:


      import (
         "sort"
      )
      arr := ["a", "hello", "world", "b", "good", "x", "zZ", "A"]
      println("排序前:", arr)
      sort.Strings(arr)
      println("排序前:", arr)
      res := sort.StringsAreSorted(arr)
      println("已经排序:", res)
  
 

上述代码输出结果:

排序前: [a hello world b good x zZ A]
排序前: [A a b good hello world x zZ]
已经排序: true

运行结果截图:

文章来源: liuzhen.blog.csdn.net,作者:Data-Mining,版权归原作者所有,如需转载,请联系作者。

原文链接:liuzhen.blog.csdn.net/article/details/121451184

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。