Go语言实现冒泡排序
发布时间:2022-07-08 16:31:03

冒泡排序很多时候我们会被面试问到。了解并清楚冒泡算法原理是非常有必要的,冒泡的含义简而言之就是交换排序。轻(小)的元素像泡泡一样浮起来。这样就能做到排序了

package main

import "fmt"

//冒泡排序
func main() {
	slice := []int{50, 16, 10, 8, 6}
	BubblingSort(slice)
	fmt.Println(slice)
}

func BubblingSort(arr []int) {
	var a int
	flag := false //标志位
	count := 1    //排序次数
	for _, _ = range arr {
		for ii, _ := range arr {
			if ii >= 1 && arr[ii] > arr[ii-1] {
				a = arr[ii-1]
				arr[ii-1] = arr[ii]
				arr[ii] = a
				flag = true
			}
			count++
		}
		if flag == false {
			break
		}
	}
	fmt.Printf("计算次数:%d", count)
}

结果:

 % go run bubble_order.go 
计算次数:6[50 16 10 8 6]