【发布时间】:2018-08-16 03:57:17
【问题描述】:
对于我的课程,我必须获取两个数字列表,对它们进行排序,然后将它们组合并按顺序输出新列表,如果列表在键入时已经按顺序排列,但如果说 9 在第一个列表的开始,所以我遇到的麻烦是在组合后对列表进行排序,在其他语言中,我会使用 for 循环来执行此操作,但在 Haskell 中不确定 这是我的代码:
merge :: Ord a => [a] -> [a] -> [a]
merge x [] = x
merge [] x = x
merge (x:xs) (y:ys) = if x < y
then x:(merge xs (y:ys))
else y:(merge (x:xs) ys)
【问题讨论】: