go实现基数排序算法

前面我们详细讲解了基数排序算法,现在我们使用代码来实现,直接上代码,go代码如下

package main

import (
	"fmt"
	"math"
)
//基数排序
func radixSort(theArray []int)[]int {
	//获取最大值vl
	vl := 0;
	for _,v:=range theArray{
		if v>vl{
			vl = v
		}
	}
	//获取最大值的位数
	var count int = 0;
	for vl % 10>0{
		vl = vl / 10;
		count++;
	}

	//给桶中对应的位置放数据
	for i:=0; i

我们运行一下

排序前[10 1 18 30 23 12 7 5 18 233 144]
排序后[10 1 18 30 23 12 7 5 18 233 144]
[10 30 1 12 23 233 144 5 7 18 18]
[1 5 7 10 12 18 18 23 30 233 144]
[1 5 7 10 12 18 18 23 30 144 233]

符合预期

你可能感兴趣的:(算法与数据结构)