列表反转与深度反转
摘要:
列表反转的意思是将一个列表逆序过来,比如(list 1 2 3) -> (list 3 2 1)实现的时候最直接的想法是先将除了第一个元素意外的子表反转,然后将第一个元素接到后面去,但是在scheme中没有提供将一个元素append到某个list的结尾。因此使用头插入的办法,遍历要反转的表的第一个元素,用cons操作插入到结果的表的头部。(define (reverse-list ll) (define (reverse-list-iter r remain) (if (null? remain) r (reverse-list-iter (cons (car remain) r) (c 阅读全文
posted @ 2012-09-15 07:11 mathlover 阅读(597) 评论(0) 推荐(0) 编辑