美文网首页
Go算法——计数排序

Go算法——计数排序

作者: ProgrammingGuy | 来源:发表于2020-02-13 17:32 被阅读0次
package main

import (
    "fmt"
)

func countingSort(array []int, k int) {
    b, t := make([]int, len(array)), make([]int, k)
    for i := 0; i < len(array); i++ {
        t[array[i]]++
    }
    for i := 1; i < k; i++ {
        t[i] += t[i-1]
    }
    for j := len(array) - 1; j >= 0; j-- {
        b[t[array[j]]-1] = array[j]
        t[array[j]]--
    }
    for i := 0; i < len(array); i++ {
        array[i] = b[i]
    }
}

func main() {
    arr := []int{16, 4, 10, 14, 7, 9, 3, 2, 8, 1}
    fmt.Println(arr)
    countingSort(arr, 17)
    fmt.Println(arr)
}
image.png

相关文章

  • Go算法——计数排序

  • 线性排序

    桶排序、计数排序、基数排序 一、线性排序算法介绍 1.线性排序算法包括桶排序、计数排序、基数排序。2.线性排序算法...

  • 排序算法-8---计数排序

    # 排序算法-8---计数排序 概念 计数排序(Counting sort)是一种稳定的线性时间排序算法。该算法于...

  • 算法and数据结构

    算法 冒泡排序 选择排序 计数排序

  • 08-计数排序(Counting Sort)

    计数排序(Counting Sort) 本节内容,继续介绍排序算法,在本节内容之前,介绍过7种排序算法,那计数排序...

  • python实现计数排序(CountSort)

    python实现【计数排序】(CountSort) 算法原理及介绍 计数排序不是基于比较的排序算法,其核心在于将输...

  • 排序算法

    常见排序算法 本文涉及的算法有:冒泡排序选择排序计数排序 冒泡排序 伪代码 流程图 选择排序 伪代码 流程图 计数...

  • (转)排序算法

    排序算法点这里 数据结构与算法——计数排序、桶排序、基数排序

  • 算法入门——计数排序、桶排序、基数排序

    上篇文章我们学习了算法入门——归并排序、希尔排序,这篇文章我们学习算法入门——计数排序、桶排序、基数排序。 计数排...

  • Python实现计数排序

    计数排序 计数排序是一个非基于比较的排序算法,优势在于在对一定范围内的整数排序时,快于基于比较的排序算法。 算法思...

网友评论

      本文标题:Go算法——计数排序

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