选择排序至Go Lang

选择排序是一种排序算法,用于通过重复查找最小元素并将其放在数组的未排序部分的第一个元素中来对元素进行排序。将最小元素放置在数组的一端后,然后将数组分为两个子部分,可以使用该算法再次对其进行排序。

例如

输入

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
      // 查找最小元素的索引
      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]。