主页 > 知识库 > go实现冒泡排序的示例代码

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

热门标签:仙桃400电话办理 宁波语音外呼系统公司 上海极信防封电销卡价格 郑州智能语音电销机器人价格 不封卡外呼系统 湛江crm外呼系统排名 重庆庆云企业400电话到哪申请 宿迁便宜外呼系统代理商 地图标注免费定制店

冒泡排序: (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语言实现冒泡排序、选择排序、快速排序及插入排序的方法

标签:青海 儋州 电子产品 西双版纳 海南 安康 物业服务 辽宁

巨人网络通讯声明:本文标题《go实现冒泡排序的示例代码》,本文关键词  实现,冒泡,排序,的,示例,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《go实现冒泡排序的示例代码》相关的同类信息!
  • 本页收集关于go实现冒泡排序的示例代码的相关信息资讯供网民参考!
  • 推荐文章