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)最後一個層次上,右成員是空表

相關文章
相關標籤/搜索