【发布时间】:2015-04-12 18:11:30
【问题描述】:
我有一个循环列表,例如:#0=(1 2 3 4 . #0#)。
我想要做的是在这个列表中插入一个新元素 (x),以便结果是 #0=(x 1 2 3 4 . #0#)。我一直在尝试使用此代码(x 是循环列表):
(define (insert! elm)
(let ((temp x))
(set-car! x elm)
(set-cdr! x temp)))
不过,我认为set-cdr!没有像我想要的那样工作。我在这里想念什么?也许我已经走远了?
【问题讨论】:
标签: list insert scheme circular-list