我有这些数据类型:
data Node a = Node
{ label :: a,
adjacent :: [(a,Int)] } deriving Show
data Network a = Graph [Node a] deriving Show
我想将图表转换为节点列表。例如我想把这个:
Graph [ ( Node 'a' [ ( 'b' , 3 ) , ( 'c' ,2 ) ] ) , ( Node 'b' [ ('c' , 3 ) ] ) , ( Node 'c' [] ) ]
对此:
[ ( Node 'a' [ ( 'b' , 3 ) , ( 'c' ,2 ) ] ) , ( Node 'b' [ ('c' , 3 ) ] ) , ( Node 'c' [] ) ]
我写了这个函数和它的一些其他变体:
deGraph Graph [Node x y] = [Node x y]
但我不断出错。你能告诉我应该如何改变我的功能吗?谢谢。