列表参数递归函数中的sml
list&整数n。函数应该添加列表的第n个元素,并返回剩余的列表 插入n([5,6,7],2,9); 输出:[5,9,6,7] n是2。列表参数递归函数中的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,每
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)
。除此之外,你的车快到了