【发布时间】:2013-12-10 15:58:06
【问题描述】:
我正在学习 Haskell,但我无法理解这个功能。我正在实施合并排序。我实现了合并排序递归函数,但我不明白这个“合并”函数在做什么。我理解命令式语言中的归并排序,但我不理解这里的语法。
merge [] ys = ys
merge xs [] = xs
merge xs@(x:xt) ys@(y:yt) | x <= y = x : merge xt ys
| otherwise = y : merge xs yt
【问题讨论】:
-
从我看到的这个函数合并两个排序列表,并返回一个排序列表。你有什么不明白的?是语法吗?
-
是的,看我的编辑。谢谢。