sicp 习题2.24 && 2.25

本文通过具体的列表解析操作示例,展示了如何在Scheme语言环境下处理嵌套列表,并介绍了几种基本的数据结构如列表和树形结构。文章还提供了运行代码的环境说明及输出结果,帮助读者理解列表操作的基本原理。

它的盒子图形如下:
 (1 (2 (3 4)))       ((2 (3 4)))
[*]---------------> [*]
 |                   |
 |                   |
 v                   v (2 (3 4))         ((3 4))
 1                  [*]---------------> [*]
                     |                   |
                     |                   |
                     v                   v (3 4)             (4)
                     2                  [*]---------------> [*]---------------> '()
                                         |                   |
                                         |                   |
                                         v                   v
                                         3                   4
它的树图形如下:

 (1 (2 (3 4)))
   *
  / \
 /   \  (2 (3 4))
1     *
     / \
    /   \  (3 4)
   2     *
        / \
       /   \
      3     4

习题2.5
(define x (list 1 3 (list 5 7) 9))
run:

Welcome to DrRacket, version 5.3.3 [3m].
Language: planet neil/sicp; memory limit: 512 MB.
> (car (cdr (car (cdr (cdr x))))) 
7

#lang planet neil/sicp
(define x (list (list 7)))
run:

> (car x)
(mcons 7 '())
> (caar x)
7

(define x (list 1 (list 2 (list 3 (list 4 (list 5 (list 6 7)))))))
run:

> (car (cdr (car (cdr (car (cdr (car  (cdr (car (cdr (car (cdr x))))))))))))
7



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值