【发布时间】:2011-11-02 07:02:47
【问题描述】:
列表 & 一个整数 n。该函数应该添加列表的第 n 个元素,并返回剩余的列表。例如
插入 ([5,6,7],2,9); 输出:[5,9,6,7]
n 是 2。 9是我添加的第二行
【问题讨论】:
列表 & 一个整数 n。该函数应该添加列表的第 n 个元素,并返回剩余的列表。例如
插入 ([5,6,7],2,9); 输出:[5,9,6,7]
n 是 2。 9是我添加的第二行
【问题讨论】:
说真的,lutzlover。你需要去阅读一本教科书或一些关于 SML 的介绍。例如查看SML/NJ Literature 页面。
基本上你有两种方法可以解决这个问题。给定一个函数insertnth(xs, pos, n),那么丑陋的非函数式方法是在位置pos处拆分列表,然后返回left @ n :: right,其中left和right是拆分的左右部分。或者更实用的方式,使用递归函数逐个元素遍历列表xs,每次递减pos变量,然后当你到达位置1时,然后返回n附加到剩余列表中,停止递归。
【讨论】:
insertnth(xs, pos, n)。除此之外,你几乎在那里