日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【SICP练习】57 练习2.27

發布時間:2024/4/13 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【SICP练习】57 练习2.27 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


練習2.27

又是修改程序的題目,要求我們寫出的deep-reverse函數要將表中的元素也反轉過來,這其中應該要用到遞歸來實現吧。

(define (deep-reverse tree)

???(cond ((null? tree) ‘())

????????? ((not (pair? tree)) tree)

????????? (else (reverse (list (deep-reverse(car tree))

?????????????????????????? (deep-reverse (cadrtree)))))))

但是對于((1 2) (3 4) (5 6))這種,上面的函數就無法按我們的剛才的想法來返回了。它的返回值會是(4 3) (2 1)),而我們要的返回值則是((6 5) (4 3) (2 1))。因此要對程序進行修改。

(define (deep-reverse lst)

???(define (iter remainder-items result)

???????(if (null? remainder-items)

?????????? result

?????????? (iter (cdr remainder-items

??????????????? (cons (if (pair? (car remainder-items))

???????????????????????? (deep-reverse (car remainder-items))

???????????????????????? (car remainder-items))

????????????????????? result))))

?????(iter lst ‘()))

總結

以上是生活随笔為你收集整理的【SICP练习】57 练习2.27的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。