自訂集合

自訂集合

中等

說明

建立一個自訂的集合型別。

有時會需要定義某種類型的自訂資料結構,例如集合。 在這個練習中,你將定義自己的集合。 它內部如何運作並不重要,只要它的行為像一個由不重複元素組成的集合就好。

提示

要完成這個練習,你需要建立資料型態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,全部免費。