我刚开始学习常见的口齿不清。当我阅读Set and Tree章节时,我对列表的结构不太了解。现在我想知道列表中的确切含义。我知道缺点包括两个值,可以是任何类型的对象。在这里,我发现谷歌的图片。 但我很困惑。它似乎是数据结构中的通用列表。 lists in lisp
答案 0 :(得分:0)
列表是使用您提到的cons单元格构建的。单个缺点单元格,第二部分为零,是最简单的列表:
(cons 'A nil)
=> (A)
如果你想扩展列表,你需要另一个单元格:
(cons 'C (cons 'B (cons 'A nil)))
=> (C B A)
所以列表是一系列链接在一起的cons细胞。
另外,为了让生活更轻松,还有list
功能。这样您就不必编写所有这些cons
调用,并可以创建如下列表:
(list 'C 'B 'A)
=> (C B A)
但在其内部仍然是一系列缺点。