scheme中的pair和list

在scheme中的数据结构pair和list是用来表示tree和list的。 数据结构

pair就是每一个节点都分红两个叉,最后整棵树的形状能够是任意的,好比说左边“繁茂”一点,或者右边“繁茂”一点均可以; 链表

list是特殊的pair,(链表是特殊的树,很合理嘛),每一个节点也是分红两个叉,左成员是一个“树叶”,右成员是另外一个list, 数据

最后一个分叉比较特殊,其左成员也是普通”树叶“,但右成员是空表; scheme

看几个普通pair的例子: co

(cons 1 (cons 2 3))

(cons (cons 1 2) 3)

(cons 1 (cons 2 (cons 3 '())))

其中只有第三个pair属于list,由于它知足如下两个条件:

1) pair在每一层次上,右成员都是一个pair;

2)最后一个层次上,右成员是空表

相关文章
相关标签/搜索