【SICP练习】61 练习2.31-2.32

来源:互联网 发布:吊顶面积算法 编辑:程序博客网 时间:2024/06/15 07:16


练习2.31

我想说我已经越来越喜欢抽象了,将上一题中的map版本的square-tree抽象的方法是添加一个参数ff是一个函数,因此将square替换成f即可。如下。

(define (map-tree f tree)

   (map (lambda (sub-tree)

           (if (pair? sub-tree)

              (tree-map f sub-tree)

               (f sub-tree)))

          tree))

(define (square-tree tree)

   (tree-map square tree))

下面就来测试一下咯。来个稍微厉害点的表好了。

(square-tree ‘(1 2 (3 4) 5 (6 7) ( (8(9 ) ) ) 10 ) )

;Value: (1 4 (9 16) 25 (36 49) ( (64(81 ) ) ) 100 )


练习2.32

迭代




0 0
原创粉丝点击