2
大家好,我試圖找出如何在Haskell的一組數據類型,但我不知道這一點,這是我到目前爲止,我有點糊塗哈斯克爾組數據類型
data Set a = Node a | List {
list :: [a]
}deriving(Eq,Show,Ord)
insert :: Set Integer -> Set Integer -> Bool
insert (Node itemToInsert) (List list)
|contains (List list) (Node itemToInsert) == False = List(list:(Node itemToInsert))
contains :: Set Integer -> Set Integer -> Bool
contains (List []) (Node numberToFind) = False
contains (List (x:xs)) (Node numberToFind)
|x == (Node numberToFind) = True
|otherwise = contains (List (xs)) (Node numberToFind)
感謝您的幫助!
問題是...? –
我想要一個節點列表,我不知道如何定義數據類型來做到這一點。 – functionalCode
你不能指定「這是一個特定構造函數的列表」:使用類似的智能構造函數,或使用其他數據類型。但是,當我們有Data.Set時,爲什麼要嘗試定義一個新的Set數據類型?如果你想表示一個圖(由「節點」暗示),那麼可以這麼說,或者使用現有的圖庫! – ivanm