我知道如何在Haskell中合并两个排序的列表,但是,我不知道如何合并三个排序的列表。我写了一些代码,下一步该怎么做?
我真的是Haskell编程的新手,我观看了“了解Haskell带来的好处!”作为学习Haskell的开始。我尝试遵循两个已排序列表合并的格式:
mergeS :: (Ord a) => [a] -> [a] -> [a] -> [a]
mergeS [] [] [] = []
mergeS (x:xs) [] [] = (x:xs)
mergeS [] (y:ys) [] = (y:ys)
mergeS [] [] (z:zs) = (z:zs)
mergeS (x:xs) (y:ys) (z:zs) -- I do not know how to write from here
正确的答案应该是这样的:
mergeS ::(Ord a)=> [a]-> [a]-> [a]-> [a]
mergeTwoLists :: Ord a => [a]-> [a]-> [a]
...
mergeS x y z = mergeTwoLists x(mergeTwoLists y z)
答案 0 :(得分:3)
您知道如何合并两个排序的列表。现在只需执行两次。