有个问题,怎么做到把list第一个数放到最后以及把最后一个数提前
scheme吧
全部回复
仅看楼主
level 1
丶心有萌虎º
楼主
list是用cons表示的,想了半天还是不知道该怎么写出这种rotate functionQAQ
求助大佬=。=
2018年03月05日 21点03分
1
level 7
tes1991
还是两个字,递归。
具体解法how to design programs网站上面有,你画一个递归的流程图就看出来了。
2018年04月24日 16点04分
4
level 7
tes1991
另外,大部分问题推荐的参考书就是,
The Little Schemer.
2018年04月24日 16点04分
5
level 1
hwzxaww
(f l)=(cons (cadr l)
(f (cons (car l)
(cddr l))))
2019年08月25日 10点08分
8
level 2
没事的人
不带'() 检查可乎?
(define rright
(lambda(origin mylist)
(cond ((= (length mylist) 1) (append mylist origin))
(else (rright (cons (car mylist) origin) (cdr mylist))))))
(rright '() '(1 2 3))
2019年09月07日 15点09分
9
level 2
没事的人
带'() 检查多写一行,所以……
2019年09月07日 15点09分
10
level 6
Galois域
(define(rotate-right lst)
(if (null? (cdr lst))
lst
(
(lambda (r)
(cons
(car r)
(cons (car lst) (cdr r))
)
)
(rotate-right (cdr lst))
)
)
)
(define(rotate-left lst)
(define (append-one lst x)
(if (null? lst)
(cons x '())
(cons (car lst) (append-one (cdr lst) x))
)
)
(append-one (cdr lst) (car lst))
)
2019年09月15日 09点09分
11
1