12 lines
411 B
Text
12 lines
411 B
Text
# Insert an element X at position Pos
|
|
(de 2insert (X Pos DLst)
|
|
(let (Lst (nth (car DLst) (dec (* 2 Pos))) New (cons X (cadr Lst) Lst))
|
|
(if (cadr Lst)
|
|
(con (cdr @) New)
|
|
(set DLst New) )
|
|
(if (cdr Lst)
|
|
(set @ New)
|
|
(con DLst New) ) ) )
|
|
|
|
(setq *DL (2list 'A 'B)) # Build a two-element doubly-linked list
|
|
(2insert 'C 2 *DL) # Insert C at position 2
|