首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SICP ex 3.17 -计算配对-我看不出为什么我的答案是错的

SICP ex 3.17是《计算机程序的构造和解释》(Structure and Interpretation of Computer Programs)一书中的一个习题。这个习题涉及到计算配对(computational pairs)的概念。

计算配对是一种数据结构,它由两个元素组成,通常称为"cons"。一个元素是配对的"car",另一个元素是配对的"cdr"。这种数据结构可以用来构建更复杂的数据结构,如链表和树。

在SICP ex 3.17中,问题是要求实现一个过程last-pair,它接受一个链表作为参数,并返回该链表的最后一个配对。如果链表为空,则返回一个错误。

以下是一个可能的实现:

代码语言:txt
复制
(define (last-pair lst)
  (cond ((null? lst) (error "Empty list"))
        ((null? (cdr lst)) lst)
        (else (last-pair (cdr lst)))))

这个实现使用了递归来遍历链表,直到找到最后一个配对。如果链表为空,就会抛出一个错误。

这个问题中没有明确要求使用腾讯云的相关产品,因此不需要提供相关产品和链接地址。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券