0

列表 & 一个整数 n。该函数应添加列表的第 n 个元素,并返回剩余的列表。例如

插入([5,6,7],2,9);输出:[5,9,6,7]

n 是 2。9 是我添加的第二行

4

1 回答 1

2

说真的,lutzlover。你需要去阅读一本教科书或一些关于 SML 的介绍。例如,参见SML/NJ 文献页面。

基本上你有两种方法来解决这个问题。给定一个函数insertnth(xs, pos, n),那么丑陋的非函数方式就是在位置拆分列表pos,然后返回拆分的左右部分的位置left @ n :: rightleftright或者更实用的方式,使用递归函数xs逐个元素遍历列表,pos每次递减变量,然后当你到达位置 1 时,然后返回n附加到剩余的列表,以停止递归。

于 2011-11-01T22:14:14.643 回答