Recursion 列表数据结构中的递归过程
这是一个返回列表1中最后一项的过程:Recursion 列表数据结构中的递归过程,recursion,data-structures,Recursion,Data Structures,这是一个返回列表1中最后一项的过程: proc last (1) if (isEmpty(1)) error('Oops. Empty list in procedure last.') elseif (is empty(rest1)) return (first(1) else return last(rest(1)) 修改它以创建一个递归过程getItem(i,l),该过程返回列表1中的itemi,其中i是大于零的整数 proc getItem(i,1
proc last (1)
if (isEmpty(1))
error('Oops. Empty list in procedure last.')
elseif (is empty(rest1))
return (first(1)
else return last(rest(1))
修改它以创建一个递归过程getItem(i,l)
,该过程返回列表1中的itemi
,其中i
是大于零的整数
proc getItem(i,1)
if (isEmpty(1))
error('Opps. Empty list in procedure last.')
else if (isEmpty(getItem,i1)
else if i > 0
return item(i,1)
对吗?你用的是什么语言?在大多数语言中,不能使用数字作为变量名。另外,您缺少了几个括号,并且没有一致地使用“else if”。要使其递归工作,最后一行需要具有相同的函数名 除此之外,你需要减少我。。。。否则你就不动了 应该是这样的:
proc getItem(i,1)
if (isEmpty(1))
error('Opps. Empty list in procedure last.')
else if (i > 0)
return getItem(i-1,1)
else return first(1)