gpt4 book ai didi

list - 榆树排序和[可比]

转载 作者:行者123 更新时间:2023-12-01 23:10:22 27 4
gpt4 key购买 nike

我对 Elm 进行排序时使用什么排序算法 List ?

> sort [1,3,5,6]
[1,3,5,6] : [comparable]

什么是 [comparable] 类型以及如何取回 number

> [1,2]:: (sort [3,2,1])
[1 of 1] Compiling Repl ( repl-temp-000.elm )
Type error on line 4, column 3 to 24:
[1,2] :: (sort [3,2,1])

Expected Type: [number]
Actual Type: comparable

这可能是了解 List 如何在 Elm 中实现的好时机,但我现在不想问任何太深的问题。只需启动并运行即可。

最佳答案

Sort 将列表转换为 javascript 数组,然后对其调用 sort,然后将结果转换回 elm 列表。这意味着排序本身就是浏览器使用的任何实现(绝对是订单大小 * log(size) 算法)。

elm 中排序的来源:https://github.com/elm-lang/Elm/blob/20ccc834c1a597d1ef356c14073670b62f90d875/libraries/Native/List.js#L267-L269

comparable 类型很有趣,但确实包含数字。您的代码的问题是您使用的是 (::) (发音为 cons)而不是 (++) 发音为 append。你想做的事:

sorted = [1,2] ++ (sort [6,5,4,3])

示例:http://share-elm.com/sprout/53dd978ce4b07afa6f983b7d

希望这会有所帮助!

关于list - 榆树排序和[可比],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25100770/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com