冒泡排序
package main
import "fmt"
// 冒泡排序
func BubleSort(slice []int) {
var tmp int // 定义临时变量用于交换
var count int // 定义交换次数,用来优化
for j := 0; j < len(slice)-1; j++ {
count++
for i := 0; i < len(slice)-count; i++ {
if slice[i] > slice[i+1] {
tmp = slice[i+1]
slice[i+1] = slice[i]
slice[i] = tmp
}
}
}
}
func main() {
// 定义切片
var slice = []int{21, 22, 9, 69, 11, 12}
fmt.Printf("排序前的结果为:%v\n", slice)
BubleSort(slice)
fmt.Printf("排序后的结果为:%v", slice)
}
输出结果
排序前的结果为:[21 22 9 69 11 12]
排序后的结果为:[9 11 12 21 22 69]
文章评论