美文网首页
选择排序(golang实现)

选择排序(golang实现)

作者: imroc | 来源:发表于2017-09-03 14:02 被阅读0次

封装成函数:

//交换数组元素
func swap(slice []int, i int, j int) {
    slice[i], slice[j] = slice[j], slice[i]
}
 
//选择排序
func SelectionSort(s []int)  {
    l := len(s) //以免每次循环判断都运算
    m := len(s)-1
    for i:=0;i<m;i++ {
        k:=i
        for j:=i+1;j<l;j++ {
            if s[j]<s[k] {
                k = j
            }
        }
        if k!=i {
            swap(s,k,i)
        }
    }
}

测试:

s := []int{9,0,6,5,8,2,1,7,4,3}
fmt.Println(s)
SelectionSort(s)
fmt.Println(s)

输出:
[9 0 6 5 8 2 1 7 4 3]
[0 1 2 3 4 5 6 7 8 9]

相关文章

  • GO语言实现 一 基本排序

    基本排序包括简单选择排序和插入排序,本文将就这两种排序进行 golang语言实现,并引出希尔排序 一.简单选择排序...

  • 选择排序(golang实现)

    封装成函数: 测试: 输出:[9 0 6 5 8 2 1 7 4 3][0 1 2 3 4 5 6 7 8 9]

  • Golang实现选择排序

  • golang 实现选择排序算法

    算法思想 选择排序提高了冒泡排序的性能,它每遍历一次列表只交换一次数据,即进行一次遍历时找 到最大的项,完成遍历后...

  • Golang 排序算法

    基本排序算法的Golang实现 BubbleSort InsertSort SelectSort

  • 简单排序

    1、选择排序 实现 2、冒泡排序 实现 3、插入排序 实现

  • 数据结构与算法 - 排序

    代码实现基于golang version 1.18 1. 冒泡排序 冒泡排序是一种交换排序,核心是冒泡,把数组中...

  • 冒泡排序 选择排序

    冒泡排序 java 实现 C 实现 选择排序 java 实现 C 实现

  • 使用golang编写简单的算法

    通过编写一些简单的算法学习golang语言。下面是插入排序算法golang语言的实现:一般的写法: golang语...

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

网友评论

      本文标题:选择排序(golang实现)

      本文链接:https://www.haomeiwen.com/subject/azxjjxtx.html