• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    go实现冒泡排序的示例代码

    冒泡排序: (Bubble Sorting)基本思想是通过对待排序序列从后向前(从下标较大的元素开始)以此比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后补移向前部(从下标较大的单元移向单位较小的单元),就像水底的气泡一样逐渐向上冒。

    因为排序的过程中,各元素不断的接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行过交换,从而减少不必要的比较(优化)。

    BubleSort.go

    package main;
    
    import "fmt"
    
    func main() {
     array := []int{5,4,3,4,2}
     res := bubleSort(array)
     fmt.Println(res)
    }
    
    func bubleSort(array []int) []int {
     length :=len(array)
     //isChange :=false
    
     for i:=0;ilength;i++ {
      for j:=0;jlength-i-1;j++ {
      // j = length-i-1 这个是关键,每次 i ,少比较最后一位数组
       if array[j] > array[j+1] {
        array[j+1],array[j] = array[j],array[j+1]
        //isChange = true
       }
      }
      // 直接跳下次循环
      // if !isChange {
      //  break;
      // }
     }
     return array;
    }
    
    

    冒泡冒泡,就是每次循环都将最大的值,冒泡到数组最后,第二次冒泡也是从数组下标0位置开始。

    到此这篇关于go实现冒泡排序的示例代码的文章就介绍到这了,更多相关go 冒泡排序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • GOLANG版的冒泡排序和快速排序分享
    • Go语言实现冒泡排序、选择排序、快速排序及插入排序的方法
    上一篇:golang遍历时修改被遍历对象的示例详解
    下一篇:golang 切片截取参数方法详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    go实现冒泡排序的示例代码 实现,冒泡,排序,的,示例,