算法之选择排序算法(golang)

太过爱你忘了你带给我的痛 2022-06-12 11:14 219阅读 0赞

直接上代码:核心思想就是每一次比较都把最小的值放到前面

  1. package main
  2. import "fmt"
  3. func swap(i, j int, a []int) {
  4. a[i], a[j] = a[j], a[i]
  5. }
  6. func SelectSort(a []int) {
  7. if len(a) == 0 {
  8. return
  9. }
  10. length := len(a)
  11. // for v,k:= range a{
  12. // }
  13. for i := 0; i < length-1; i++ {
  14. //最后一次 不用比较了
  15. for j := i; j < length; j++ {
  16. if a[i] > a[j] {
  17. swap(i, j, a)
  18. }
  19. }
  20. fmt.Println(a)
  21. }
  22. }
  23. func main() {
  24. a := []int{
  25. 98, 3, 56, 23, 45}
  26. SelectSort(a)
  27. }

结果

  1. selectSort time go run select_sort.go
  2. [3 98 56 23 45]
  3. [3 23 98 56 45]
  4. [3 23 45 98 56]
  5. [3 23 45 56 98]
  6. go run select_sort.go 0.15s user 0.08s system 110% cpu 0.204 total

发表评论

表情:
评论列表 (有 0 条评论,219人围观)

还没有评论,来说两句吧...

相关阅读

    相关 排序算法选择排序

    选择排序(Selection Sort)是一种简单直观的排序算法,其基本思路是在未排序的数据序列中找到最小元素,将其放在已排序的数据序列的末尾。重复该过程,直到整个序列排序完成

    相关 排序算法选择排序

    > 选择排序: > \ 依次取出数组中的每个元素,遍历该元素后的每一个元素,找出小于该元素的元素索引,交换其位置。 > 双重循环: > \ 外层循环:遍历数组中的每

    相关 排序算法选择排序

    选择排序 选择排序的思路是这样的:首先,找到数组中最小的元素,拎出来,将它和数组的第一个元素交换位置,第二步,在剩下的元素中继续寻找最小的元素,拎出来,和数组的第二个元素交换

    相关 Java-排序算法选择排序算法

    选择排序算法在每一步中选取最小值来重新排列,从而达到排序的目的。 选择排序算法通过选择和交换来实现排序,排序流程如下: 1、首先从原始数组中选择最小的一个数据,将其和位

    相关 排序算法选择排序

    选择排序的基本原理: 对于给定的数组,经过一轮的比较火的最小的数,并将该数的位置和第一个数的位置进行交换;然后对不包含第一个数的其他数继续进行比较并进行位置的交换,一直重复