【发布时间】:2013-09-18 16:14:57
【问题描述】:
定义一个函数,给定一个列表 L、一个对象 x 和一个正数 整数 k,返回 L 的副本,其中 x 插入到第 k 个位置。 例如,如果 L 是 [a1, a2, a3] 并且 k=2,那么 [a1, x, a2, a3] 是 回来。如果 L 的长度小于 k,则在末尾插入。为了 这种问题,你不应该使用,例如, 长度函数。想想函数如何计算长度。不 'if-then-else' 或任何辅助功能。
我已经想出了如何制作一个函数来查找列表的长度
fun mylength ([]) = 0
| mylength (x::xs) = 1+ mylength(xs)
但是,正如问题所述,我不能将其用作插入功能中的辅助功能。另外,我不知道如何使用插入功能?任何帮助或指导将不胜感激!
【问题讨论】:
标签: functional-programming sml smlnj