Go 語言中的氣泡排序
氣泡排序是一種透過交換順序列中的元素來進行排序的演算法。它會多次檢查相鄰元素是否處於正確的順序(升序)。
氣泡排序的時間複雜度為 O(n^2),因為它需要兩個巢狀迴圈來檢查相鄰元素。
例如,我們取以下未排序陣列 -
22 15 11 45 13
氣泡排序演算法首先遍歷整個陣列,然後在另一個迴圈中檢查相鄰元素是否處於正確順序。
因此,排序後的元素將為,
11 13 15 22 45
演算法
在兩個巢狀迴圈中,將每個元素與其相鄰元素進行比較。
如果該元素小於前一個元素,則交換該元素。
列印該陣列。
示例
氣泡排序演算法的實現
package main import "fmt" func BubbleSort(array[] int)[]int { for i:=0; i< len(array)-1; i++ { for j:=0; j < len(array)-i-1; j++ { if (array[j] > array[j+1]) { array[j], array[j+1] = array[j+1], array[j] } } } return array } func main() { array:= []int{11, 14, 3, 8, 18, 17, 43}; fmt.Println(BubbleSort(array)) }
輸出
執行以上程式碼會對給定的未排序陣列進行排序並列印輸出,如下 &miuns;
3 8 11 14 18 17 43
廣告