Golang 语言实现选择排序算法的代码示例:
在这里,我们首先定义了一个名为 selectionSort
的函数,用于执行选择排序算法。它的参数是一个整数数组 arr
,其中包含要排序的元素。算法将数组 arr
按升序排序。
在函数中,我们首先获取数组 arr
的长度,然后使用两个循环来执行选择排序。在外部循环中,我们从数组的第一个元素开始,依次选择每个元素,并在内部循环中查找数组中剩余元素中的最小值。如果找到最小值,则交换当前元素与最小值元素的位置。
最后,我们在 main
函数中定义了一个整数数组 arr
,并在调用 selectionSort
函数之前打印出原始数组。然后,我们调用 selectionSort
函数来对数组进行排序,并在排序后打印出排序后的数组。
package main
import "fmt"
func selectionSort(arr []int) {
n := len(arr)
for i := 0; i < n-1; i++ {
minIdx := i
for j := i + 1; j < n; j++ {
if arr[j] < arr[minIdx] {
minIdx = j
}
}
if minIdx != i {
arr[i], arr[minIdx] = arr[minIdx], arr[i]
}
}
}
func main() {
arr := []int{64, 25, 12, 22, 11}
fmt.Println("Original array:", arr)
selectionSort(arr)
fmt.Println("Sorted array:", arr)
}
运行上述程序,输出结果应该如下:
Original array: [64 25 12 22 11]
Sorted array: [11 12 22 25 64]
这表明,选择排序算法已经成功地将数组 arr
中的元素按升序排序。