gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章go实现冒泡排序的示例代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

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

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

BubleSort.go 。

?
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
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;i<length;i++ {
   for j:=0;j<length-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 冒泡排序内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://segmentfault.com/a/1190000038978351 。

最后此篇关于go实现冒泡排序的示例代码的文章就讲到这里了,如果你想了解更多关于go实现冒泡排序的示例代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com