我正在尝试编写一个haskell函数,该函数接受两个整数列表,并生成包含从两个列表中交替获取的元素的列表。

我有功能:

blend xs ys

一个例子:
blend [1,2,3] [4,5,6]

应该回来
[1,4,2,5,3,6]

我的逻辑是将两个列表压缩在一起,生成成对的备用元素,然后以某种方式从它们的元组中删除它们。

它从他们不知道如何实现的元组中删除它们。

最佳答案

在递减过程中交换参数怎么样?

blend (x:xs) ys = x:(blend ys xs)
blend _ _ = []

您甚至可以将这种方法推广到任意数量的列表中(我留给您使用),或者在其他列表为空的情况下使用列表的其余元素:
blend _ ys = ys

关于list - Haskell-两个列表中的交替元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8470606/

10-11 22:34
查看更多