ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
冒泡排序 思路分析:在要排序的切片中,对当前还未排好的序列,从前往后对相邻的两个元素依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的元素比较后发现它们的排序与排序要求相反时,就将它们互换。 代码实现: ~~~ 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) } ~~~