冒泡排序算法是一種比較排序算法,它通過不斷地比較相邻元素的大小,將相對大的元素向右移動,相對小的元素向左移動,就像氣泡在水中一樣。
以下是在Golang中實現冒泡排序的代碼:
package main
import "fmt"
func bubbleSort(arr []int) {
n := len(arr)
for i := 0; i < n-1; i++ {
for j := 0; j < n-i-1; j++ {
if arr[j] > arr[j+1] {
arr[j], arr[j+1] = arr[j+1], arr[j]
}
}
}
}
func main() {
arr := []int{9, 8, 7, 6, 5, 4, 3, 2, 1}
bubbleSort(arr)
fmt.Println(arr)
}
在上述代碼中,bubbleSort
函數接收一個整數切片作為參數。函數使用兩重循環來對整數切片進行排序。外層循環控制比較的次數,內層循環實現每一步的比較和交換。在內層循環中,我們比較相邻的元素,如果前一個元素大於後一個元素,就將它們交換位置。通過多輪的比較和交換,最終得到一個有序的整數切片。