列表数据结构中的递归过程

发布于 2024-10-15 11:31:17 字数 516 浏览 2 评论 0原文

这是一个返回列表 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))

修改它以创建一个返回列表 1 中的项目 i 的递归过程 getItem(i,l),其中 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)

这是正确的吗?

This is a procedure to return the last item in a list 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))

Modify that to create a recursive procedure getItem(i,l) that returns item i in a list 1, where i is an integer greater than zero.

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)

is that correct?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

顾挽 2024-10-22 11:31:17

为了让它递归地工作,最后一行需要与函数具有相同的名称。

除此之外,你需要减少 i ....否则你不会移动...

应该是这样的:

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)

For it to work recursively, that last line needs to have the same name of the function.

Besides that, you need to decrease i .... otherwise you aren't moving...

should be something like:

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)
软糖 2024-10-22 11:31:17

您使用什么语言?在大多数语言中,您不能使用数字作为变量名。另外,您缺少几个括号,并且没有一致地使用“else if”。

What language are you using? In most languages you cannot use numbers as variable names. Also, you're missing a couple of parenthesis and you're not using 'else if' consistently.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文