所以,我正在研究一个函数,它已经按照从小到大的顺序获取两个列表,并以它们都被排序的方式合并它们。我的想法是将第二个列表分成头部和尾部,使用插入将头部排序到第一个列表中,然后再次运行该函数。但是在运行时我得到:
Couldn't match expected type `[t0]' with actual type `[a0] -> [a0]'
In the return type of a call of `List.insert'
Probable cause: `List.insert' is applied to too few arguments
我对如何解决这个问题有点困惑,这里是代码:
combsort((x:xs):(y:ys)) = combsort(List.insert(y (x:xs)) : ys)
combsort((x:xs):[]) = []