用go写一个选择排序的算法程序
时间: 2023-02-06 19:22:30 浏览: 102
选择排序是一种简单的排序算法,它的基本思想是每次从待排序的数据中选择最小(或最大)的一个数据,存放在序列的起始位置,直到全部排完。
以下是使用 Go 语言实现选择排序的程序示例:
```
package main
import "fmt"
func main() {
// 待排序的数组
arr := []int{5, 3, 6, 2, 10}
// 选择排序
for i := 0; i < len(arr); i++ {
// 寻找最小值
minIndex := i
for j := i + 1; j < len(arr); j++ {
if arr[j] < arr[minIndex] {
minIndex = j
}
}
// 交换最小值和当前位置的值
arr[i], arr[minIndex] = arr[minIndex], arr[i]
}
// 输出排序后的结果
fmt.Println(arr) // 输出: [2 3 5 6 10]
}
```
在上面的程序中,我们使用两个循环来实现选择排序。第一层循环从头到尾遍历数组中的每个数据,第二层循环则用来寻找最小的数据并交换位置。
需要注意的是,在这个程序中我们使用的是升序排序(从小到大),如果要使用降序排序(从大到小),只需要将比较的条件改为 `if arr[j] > arr[minIndex]` 即可。
阅读全文