
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]