我需要编写一个Scheme函数来检查重复条目的列表。我认为我已经将工作流程放在纸上了,我只需要帮助将它从论文中转化为代码。检查重复列表的方案功能
首先我需要检查它是否是一个空的列表。所以,我有...
(define (checkDupe mylist)
(if (null? mylist)
()
(checkDupeB mylist)
)
)
然后,我有这种“双递归”,我查了第一个数字对列表的其余部分,然后对列表的其余部分的第二个数字,并等等,当它发现一个匹配时,它会分出一个#t
,如果它遇到了结尾并且没有找到匹配,那么函数的结果是#f
。问题是我无法将这个递归的东西包裹起来。这是一个家庭作业问题,但我非常喜欢学习这些东西。
有人可以向我扔一些代码,并帮助我通过这个工作吗?
你可能想看看如何设计程序,第2版草案,特别是从第4章开始:http://www.ccs。 neu.edu/home/matthias/HtDP2e/htdp2e-part2.html。该章介绍了如何系统地处理这类列表问题。 – dyoo 2012-03-06 18:04:53
了解递归,你只需要了解计数。我们用自然数来计算。什么是自然数?它是0或者比自然数多一个。 [想象你是一个巫师](http://stackoverflow.com/a/19951540/849891)在炎热的干旱沙漠中。你知道附近每个城市的方向;你怎么决定要去?你想找到最近的一个。你怎么能知道到一个城市的距离,而没有实际去那里?你是一个巫师;你创建一份你自己的副本,离这个城市更近一步,并且问*它*作为答案。既然他也是一个巫师,他会重复这个过程。 – 2015-09-11 08:33:50