問題3.14 – SICP(計算機プログラムの構造と解釈)その114

問題3.14

最初の v の箱とポインタ図。

SICP 問題3.14 その1

loop を実行していく時の箱とポインタ図の変化。

SICP 問題3.14 その2

mystery 実行後の vw の箱とポインタ図。

SICP 問題3.14 その3

(define (mystery x)
  (define (loop x y)
    (if (null? x)
        y
        (let ((temp (cdr x)))
             (set-cdr! x y)
             (loop temp x))))
  (loop x '()))

(define v (list 'a 'b 'c 'd))
v
gosh> (a b c d)
(define w (mystery v))
v
gosh> (a)
w
gosh> (d c b a)
計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»