我正在尝试编写一个 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/