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

被折叠的 条评论
为什么被折叠?



