码迷,mamicode.com
首页 > 其他好文 > 详细

SICP 习题 (2.7) 解题总结 : 定义区间数据结构

时间:2014-10-08 01:49:24      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:style   使用   ar   数据   sp   问题   c   on   r   

SICP 习题 2.7 开始属于扩展练习,可以考虑不做,对后面的学习没什么影响。不过,如果上面的使用过程表示序对,还有丘奇计数你都可以理解的话,完成这些扩展练习其实没什么问题。


习题2.7是要求我们协助Allysa完成interval的定义。


Allysa定义了下面的过程来创建一个区间(interval),其中a是起点(就是较小的部分),而b是终点(就是较大部分)。

(define (make-interval a b)
  (cons a b))


题目要求我们实现lower-bound过程和upper-bound过程,用于获取一个区间的起点和终点。


既然起点和终点是使用cons函数连接在一起的,获取起点和终点的函数就很简单啦,通过car和cdr获取就行了:

(define (lower-bound x)
  (car x))

(define (upper-bound x)
  (cdr x))


值得注意的是,像这样简单的构建复合数据的方式在本书后面的章节中不断出现,变成了一个常规的数据组织手段,所以大家还是可以多留意一下这一系列扩展练习,加强对复合数据的理解。


SICP 习题 (2.7) 解题总结 : 定义区间数据结构

标签:style   使用   ar   数据   sp   问题   c   on   r   

原文地址:http://blog.csdn.net/keyboardota/article/details/39439571

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!