【发布时间】:2013-07-08 10:38:13
【问题描述】:
是否有提供数据结构的库,它保留项目的顺序并且不包含任何重复项?这种数据结构是否存在适当的名称?
我希望它的行为类似于在每次操作后应用nub 的列表。当然,我不希望它被无效地实施。
【问题讨论】:
-
这让我想起了Java的LinkedHashSet。所以我想类似的方法可以用于不可变的函数数据结构。
-
如果您的类型属于
Ord,您可以使用Data.Set来写入,ordNub采用O(n*log m),其中n是项目数,m唯一项目的数量。如果Hashable而不是Ord,您可以对Data.HashSet执行相同的操作。那会不会不够低效? -
您好 2013,您找到解决方案了吗?
-
@ABot 我建议对列表和有序集或散列集的组合进行抽象。
标签: haskell