🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
睡眠排序 (Sleep sort) 顾名思义,睡眠排序通过为待排序的元素启动独立的任务,每个任务按照待排元素的key执行相对应的睡眠时间,然后及时的将序列中的元素收集到一起,达到排序的目的。 ~~~ package main import ( "fmt" "time" ) func main() { tab := []int{1, 3, 0, 5} ch := make(chan int) for _, value := range tab { go func(val int) { time.Sleep(time.Duration(val) * 10000000) fmt.Println(val) ch <- val }(value) } for _ = range tab { <-ch } } ~~~