我必须编写一个程序,该程序需要一个列表并删除第一个项目,并在SCHEME中使用递归。 我只是坚持如何重演它。SCHEME中的Remove-1st函数
所以它必须
> (remove-1st '(x y z x))
(y z x)
我必须编写一个程序,该程序需要一个列表并删除第一个项目,并在SCHEME中使用递归。 我只是坚持如何重演它。SCHEME中的Remove-1st函数
所以它必须
> (remove-1st '(x y z x))
(y z x)
我想我一定是误解了你的问题,但是这将工作:
(define (remove-1st list)
(cdr list))
没有递归必要的。事实上,没有你自己的功能,因为cdr会做你想要的。
也许你需要重新描述你的问题?你的意思是你想以某种方式逐一获得剩余的物品吗?
我必须使用递归,它是赋值的一部分。那是我挣扎的地方。 – 2012-01-18 07:09:56
然后你需要一个不同的问题。递归是一种循环,循环对此没有意义。你在挣扎,因为你不能合理地使用循环来解决上述问题。 – Janne 2012-01-18 07:34:58
我懂了!虽然谢谢!我最终扭转了局面,并从那里采取行动 – 2012-01-18 07:52:29
该问题与陈述无关,因此其描述中必须有其他一些要求。没有解释为什么给定任务需要递归。 – dyoo 2012-01-18 15:58:06
真的很难弄清楚你在这里问什么。 – 2012-01-19 06:46:42