轨道
/
Haskell
Haskell
/
练习
/
自定义集合
自定义集合

自定义集合

中等

说明

创建一个自定义集合类型。

有时需要定义某种自定义数据结构,比如集合。 在这个练习中,你将定义自己的集合。 它的内部实现方式并不重要,只要它的行为像一个由唯一元素组成的集合就行。

提示

要完成这道练习,你需要创建数据类型 CustomSet,为它实现 Eq 和 Show 实例,并实现以下函数:

  • delete
  • difference
  • empty
  • fromList
  • insert
  • intersection
  • isDisjointFrom
  • isSubsetOf
  • member
  • null
  • size
  • toList
  • union

代码里已经给出了一个占位的数据声明和各个类型签名,但定义这些函数,并创建一个有意义的数据类型、newtype 或类型同义词,都得由你来做。

如果你想写出高效的实现,却不太清楚从哪里开始,我所知道的最好的入门读物是 Chris Okasaki 的《Purely Functional Data Structures》,你可以在下面这个地址读到它的一个版本: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Haskell Exercism

准备好开始 自定义集合 了吗?

注册 Exercism,借助 107 个练习 和真人导师指导,学习并掌握 Haskell,全部免费。