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

更新於:05-02-2021

7 千+ 次瀏覽

開啟您的 職業生涯

完成課程即可獲得認證

開始使用
廣告