用 Go 語言進行選擇排序


選擇排序是一種排序演算法,用於透過重複查詢最小元素並將其放置在陣列未排序部分的第一個位置來對元素進行排序。在將最小元素放在陣列的一端後,陣列被分成兩個子部分,可以使用該演算法再次對子部分進行排序。

例如

輸入

arr[ ] = {2,9,4,3,5,1}

輸出

1 2 3 4 5 9

說明

對給定的陣列進行排序後,它變為 1,2,3,4,5,9

演算法

  • 將一個整數陣列作為輸入。
  • 透過迭代陣列找出最小元素的索引。
  • 如果找到的數字最小,則與其前面的元素交換。
  • 現在返回已排序的陣列。

示例

現場演示

package main
import "fmt"
func Selection_Sort(array[] int, size int) []int {
   var min_index int
   var temp int
   for i := 0; i < size - 1; i++ {
      min_index = i
      // Find index of minimum element
      for j := i + 1; j < size; j++ {
         if array[j] < array[min_index] {
            min_index = j
         }
      }
      temp = array[i]
      array[i] = array[min_index]
      array[min_index] = temp
   }
   return array
}
func main() {
   var num = 7
   array := []int{2,4,3,1,6,8,5}
   fmt.Println(Selection_Sort(array, num))
}

執行上述程式碼將生成以下輸出:

輸出

[1 2 3 4 5 6 8]

給定的陣列為:[2, 4, 3, 1, 6, 8, 5]。在使用選擇排序對元素進行排序後,該陣列將變成 [1, 2, 3, 4, 5, 6, 8]。

更新於:2021-02-23

2000+ 次瀏覽

開啟你的 職業生涯

完成課程認證

開始吧
廣告