Go 氣泡排序

2022-06-25 07:36:13 字數 496 閱讀 9503

思路:前乙個和後乙個比較,如果前乙個大於後乙個則互換值,

第一輪把最大的值放到右邊,

第二輪把第二大的值放到右邊第二個,

一直到最後一輪,沒有換值則表明已經排好

陣列:第一輪

先拿14和3比較,大於所以換值,現在數組成了

然後14和12比較,大於就換值,現在數組成了

第二輪13和12比較,大於換值,現在數組成了

總結:3個元素需要比較2輪,第一輪比較2次,二輪比較1次

輪數:len(arr)-1

每輪次數:len(arr)-1

func main() 

c := bubblesort(s)

fmt.println(c)

}//bubblesort 氣泡排序

func bubblesort(s int) int

} if flag == 0

} return s

}

演算法 氣泡排序(go語言)

氣泡排序,是從最後開始,兩兩對比,如果前面的數字大於後面的數字,則調換數字順序。如下圖 第一步 對比最後1位,和末2位,2 6,不操作。接下來向前移動一位,對比末2,和末3 1 2,不操作 接下來向前移動一位,對比末3,和末4 3 1,調換兩個元素在陣列中的位置,調換後的圖形如下 繼續向前移動對比。...

go實現氣泡排序和快速排序

專案結構 氣泡排序演算法,原始檔bubblesort.go package bubblesort 氣泡排序 func bubblesort values int if flag true 快速排序演算法,原始檔qsort.go package qsort 快速排序 func quicksort va...

氣泡排序和優化 go實現

package main import fmt var arr int func bubblesort fmt.println arr 假設我們現在排序ar 這組資料,按照上面的排序方式,第一趟排序後將10和9交換已經有序,接下來的8趟排序就是多餘的,什麼也沒做。所以我們可以在 交換的地方加乙個標記...