列表参数递归函数中的sml

列表参数递归函数中的sml,sml,smlnj,Sml,Smlnj,list&整数n。函数应该添加列表的第n个元素,并返回剩余的列表 插入n([5,6,7],2,9); 输出:[5,9,6,7] n是2。 9是我加上的第二行,卢兹洛夫,认真地说。你需要去读一本教科书或一些SML的介绍。例如,请参见页面 基本上你有两种方法来解决这个问题。给定一个函数insertnth(xs,pos,n),那么丑陋的非函数方法是在pos位置拆分列表,然后返回left@n::right,其中left和right是拆分的左右两部分。或者更实用的方法,使用递归函数逐个元素遍历列表xs,每

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

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

n是2。
9是我加上的第二行,卢兹洛夫,认真地说。你需要去读一本教科书或一些SML的介绍。例如,请参见页面


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

。fun insertn(h::t,1)=t | insertn(h::t,n)=h::insertn(t,n-1);是这样吗?您至少需要三个参数,就像您在原始问题中和我一样:
insertnth(xs,pos,n)
。除此之外,你的车快到了