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

問題2.39

SICP 問題2.39

(define (reverse sequence)
  (fold-right (lambda (x y) (append y (list x))) () sequence))

(reverse (list 1 2 3))
gosh> (3 2 1)

(define (reverse sequence)
  (fold-left (lambda (x y) (append (list y) x)) () sequence))

(reverse (list 1 2 3))
gosh> (3 2 1)

次のように append の代わりに cons を使うとよい。

(define (reverse sequence)
  (fold-left (lambda (x y) (cons y x)) () sequence))

(reverse (list 1 2 3))
gosh> (3 2 1)
計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»