【发布时间】:2019-11-08 12:10:22
【问题描述】:
我正在尝试编写一个函数,该函数接受一个列表并返回相同的列表,其中前两个元素已交换,例如给定 '(a b c d e f) 它应该返回 '(b a c d e f),我已设法返回交换的前两个项目但是它将其余元素放在列表中'(b a(c d e f)),除了我的做法之外,还有一种简单的方法可以做到这一点。
(define swap-two (λ (l)
(cond
((empty? l) 0)
((< (length l) 2) "less than two")
((>= (length l) 2) (append (list (cadr l) (car l) (cddr l))))
(#t l))))
【问题讨论】: