go排序-睡眠排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package main
 
import (
    "fmt"
    "math/rand"
    "sync"
    "time"
)
 
func Sleep(arr ...int) (orders []int) {
    var wg sync.WaitGroup
    ch := make(chan int, len(arr))
    for _, item := range arr {
        wg.Add(1)
        go func(sleepTime int) {
            defer wg.Done()
            time.Sleep(time.Duration(int64(sleepTime) * time.Hour.Milliseconds()))
            ch <- sleepTime
        }(item)
    }
    wg.Wait()
    close(ch)
    for item := range ch {
        orders = append(orders, item)
    }
    return
}
 
func main() {
    var theArray = []int{-1,10, 1, 18, 30, 23, 12, 7, 5, 18, 14}
 
    r := rand.New(rand.NewSource(time.Now().UnixNano()))
    for i:=0; i<100000; i++ {
        theArray = append(theArray, r.Intn(1000))
    }
 
    fmt.Print("排序前")
    //fmt.Println(theArray)
    fmt.Print("排序后")
    _ = Sleep(theArray...)
    //fmt.Println(res)
 
}

  

没什么卵用 数字大就慢的要死

posted @   brady-wang  阅读(43)  评论(0编辑  收藏  举报
编辑推荐:
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
阅读排行:
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现
历史上的今天:
2020-07-21 php闭包作为函数参数
2020-07-21 swoole为什么不建议使用static和global
2020-07-21 php超全局数组 为什么swoole的http服务不能用
点击右上角即可分享
微信分享提示