首页 > 代码库 > SICP 习题 (2.24)解题总结:列表的结构

SICP 习题 (2.24)解题总结:列表的结构

SICP 习题 2.24 是列表的巩固题,让我们更清晰的理解列表。


题目要求我们求如下表达式的值:


(list 1 (list 2 (list 3 4)))



因为我是一个程序员,这种事我不会自己求值的,我会让计算机完成。。。。


Scheme环境里运行以上表达式得到的结果是:


(1 (2 (3 4)))



这个结果并不意外,相对有经验的程序员大概可以猜出来。


题目后来还要求画一个盒子指针结构将以上数据解释成一棵树。


手上没有方便的画图工具,于是用keynote直接画了一个盒子指针图,发现画起来还挺方便的。


技术分享


注意,理论上讲,列表里有几个)号,图中就应该有几个nil的符号,就是带斜杠的盒子。


SICP 习题 (2.24)解题总结:列表的结构