算法之冒泡算法(golang)

冷不防 2022-06-12 08:29 237阅读 0赞

package main

import (
“fmt”
)

//交换值函数
func swap(i, j int, a []int) {
a[i], a[j] = a[j], a[i]
}

//冒泡排序实现函数
func BubbleSort(a []int) {

  1. if len(a) == 0 {
  2. return
  3. }
  4. length := len(a)
  5. //循环次数
  6. for i := 0; i < length-1; i++ {
  7. //每一次的比较次数
  8. for j := length - 1; j > i; j-- {
  9. if a[j-1] > a[j] {
  10. swap(j-1, j, a)
  11. }
  12. }
  13. fmt.Println(a)
  14. }

}

func main() {

  1. a := []int{60, 2, 43, 78, 56, 33}
  2. BubbleSort(a)
  3. fmt.Println(a)

}

  1. maobao time go run bubble_sort.go
  2. [2 60 33 43 78 56]
  3. [2 33 60 43 56 78]
  4. [2 33 43 60 56 78]
  5. [2 33 43 56 60 78]
  6. [2 33 43 56 60 78]
  7. [2 33 43 56 60 78]
  8. go run bubble_sort.go 0.16s user 0.13s system 94% cpu 0.316 total

发表评论

表情:
评论列表 (有 0 条评论,237人围观)

还没有评论,来说两句吧...

相关阅读

    相关 算法冒泡排序

    冒泡排序[算法][Link 1]需要遍历几次数组。每次遍历都要比较连续相邻的元素,如果某一对相邻元素是降序,则互换它们的值,否则,保持不变。由于较小的值像“气泡”一样逐渐浮想顶

    相关 golangTopN算法

    相信大家已经了解了TOPN算法的原理了 不多说 直接上代码,其中\[\]leveldb.UserExp 看需求来定义 //h[root] parentNode h