美文网首页Go Go
golang 实现选择排序算法

golang 实现选择排序算法

作者: wuhan_goer | 来源:发表于2021-03-25 22:37 被阅读0次

算法思想

选择排序提高了冒泡排序的性能,它每遍历一次列表只交换一次数据,即进行一次遍历时找 到最大的项,完成遍历后,再把它换到正确的位置。和冒泡排序一样,第一次遍历后,最大的数 据项就已归位,第二次遍历使次大项归位。这个过程持续进行,一共需要 n-1 次遍历来排好 n 个数 据,因为最后一个数据必须在第 n-1 次遍历之后才能归位。


v2-1c7e20f306ddc02eb4e3a50fa7817ff4_b.gif
func SelectionSort(arr []int) {
    n := len(arr)
    for i := 0; i < n; i++ {
        // 里面循环找到最小元素的坐标
        minIndex := i
        // 前面排序好的,不用管,所以从i+1开始
        for j := i + 1; j < n; j++ {
            // 如果比第一个坐标小,就换位置
            if arr[j] < arr[minIndex] {
                minIndex = j
            }

        }
        // 交换数据
        arr[i], arr[minIndex] = arr[minIndex], arr[i]
    }
    fmt.Println(arr) // [1 2 3 4 5]

}

func main() {
    SelectionSort([]int{5, 2, 3, 1, 4})
}

相关文章

  • Golang 排序算法

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

  • golang 实现选择排序算法

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

  • 算法-选择排序

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

  • 使用golang编写简单的算法

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

  • 排序算法详细代码实现

    算法分类 算法时间复杂度 选择排序 插入排序 C++实现 Python实现 冒泡排序 Python实现 归并排序 ...

  • python实现选择排序(SelectionSort)

    python实现【选择排序】 算法原理及介绍 选择排序(Selection-sort)是一种简单直观的排序算法。它...

  • golang 选择排序算法

    选择排序 选择排序的时间复杂度 首先,为了在第 1 轮找到最小的数字,需要从左往右确认数列中的数字,只要查询 n ...

  • java 实现排序算法之「选择排序」

    java 实现排序算法系列 继冒泡排序算法之后,选择排序终于和大家见面了。为什么冒泡排序之后要说选择排序呢,是因为...

  • GO语言实现 一 基本排序

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

  • python 排序算法

    文章概述 介绍各大常用经典的排序算法和效率,以及python实现常用算法(冒泡排序,选择排序,快速排序,插入排序)...

网友评论

    本文标题:golang 实现选择排序算法

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