你好我想一个简单的元素添加到一个口齿不清列表。
(append queue1 (pop stack1))
我想上面的代码将追加stack1中的第一个元素QUEUE1。 难道queue1
必须是非零? 谢谢。
你好我想一个简单的元素添加到一个口齿不清列表。
(append queue1 (pop stack1))
我想上面的代码将追加stack1中的第一个元素QUEUE1。 难道queue1
必须是非零? 谢谢。
追加返回级联列表( queue1
与第一元件stack1
所附)。 它不会修改队列1。
追加的破坏力相当于是nconc:本追加到列表“到位”。
你没有说明具体的Lisp你的意思,但在Common Lisp中至少包括:
append连接列表,所以它的所有参数必须是列表,而不是原子。 如果你真的想要一个元素追加到你必须做的清单(append list1 (list element))
这不是一个好主意,因为在大多数的Lisp列表是单链表,以及一个完整的列表将不得不遍历以追加到尾部。 通常人们会追加到与缺点前,然后在完成时反向名单,但是这显然不会为队列工作。
APPEND不会修改其参数。 NCONC是一种破坏性的功能。 虽然我相信NCONC特别是规定做更多或更少的人会发生什么,最具破坏性的功能被允许破坏他们的论点,再利用他们的记忆,但没有必要留下任何连贯的后面。
Common Lisp中列表被实现为利弊细胞或零,这意味着它们的行为具有与后者一些怪癖的链。 如果你想有一个列表作用更多,你会从其他语言的期望,然后用列表的抽象数据结构。 更何况,如果你想与不断追加到尾部的队列。 有可用许多必要的数据结构CL-容器系统,并且在功能性数据结构F若有 。