gpt4 book ai didi

list - 我正在尝试在 Racket 中编写一个函数(删除所有 xx elt),它返回一个新列表,其中删除了所有出现的 elt

转载 作者:太空宇宙 更新时间:2023-11-03 18:40:34 24 4
gpt4 key购买 nike

这就是我所拥有的,但只有当 elt 出现在列表的开头时它才有效

(define (delete-all xx elt)
(cond ((null? xx) null)
((equal? elt (car xx)) (delete (cdr xx) elt))))

最佳答案

您错过了一个额外的案例:如果当前元素不是您要删除的元素会发生什么?这是需要完成的工作的大致思路,我不会直接给您答案,因为这看起来像是家庭作业(您应该在问题中使用 homework 标签)。最好自己填空:

(define (delete-all xx elt)
(cond ((null? xx) ; base case: empty list
null) ; return the empty list
((equal? elt (car xx)) ; current element needs to be removed
<???>) ; ignore current element and make recursive call
(else ; current element needs to be added to the list
(<???> (car xx) <???>)))) ; add current element and make recursive call

此外,不要在你的答案中调用 delete,鉴于这是一个递归解决方案,你需要调用 delete-all 来代替,但要使用适当的参数继续递归直到达到基本情况。 提示:conscdr 怎么样?

关于list - 我正在尝试在 Racket 中编写一个函数(删除所有 xx elt),它返回一个新列表,其中删除了所有出现的 elt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12340503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com