氣泡排序(golang實現)
阿新 • • 發佈:2018-12-12
氣泡排序(Bubble Sort),是一種電腦科學領域的較簡單的排序演算法。 它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從A到Z)錯誤就把他們交換過來。 走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。
package main import "fmt" func main() { arr := []int{9, 4, 5, 1, 22, 8, 4, 7, 0, 2} bubbleSort(arr, len(arr)) fmt.Println(arr) } /** 氣泡排序:第一次迴圈,確定最後一位為最大值;第二次迴圈,確定倒數第二位為倒數第二大的值;以此類推。。。 時間複雜度 O(n^2) */ func bubbleSort(arr []int, len int) { if len == 1 { return } for i := 0; i < len-1; i++ { if arr[i] > arr[i+1] { arr[i], arr[i+1] = arr[i+1], arr[i] } } bubbleSort(arr, len-1) }