1.冒泡排序
最后更新于:2022-04-02 04:47:28
冒泡排序
思路分析:在要排序的切片中,对当前还未排好的序列,从前往后对相邻的两个元素依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的元素比较后发现它们的排序与排序要求相反时,就将它们互换。
代码实现:
~~~
package main
import (
"fmt"
)
var sli = []int{1, 43, 54, 62, 21, 66, 32, 78, 36, 76, 39}
func bubbleSort(sli []int) []int {
len := len(sli)
//该层循环控制 需要冒泡的轮数
for i := 1; i < len; i++ {
//该层循环用来控制每轮 冒出一个数 需要比较的次数
for j := 0; j < len-1; j++ {
if sli[i] < sli[j] {
sli[i], sli[j] = sli[j], sli[i]
}
}
}
return sli
}
func main() {
res := bubbleSort(sli)
fmt.Println(res)
}
~~~
';