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

問題3.21

(define q1 (make-queue))

(insert-queue! q1 'a)
(display q1)
gosh> ((a) a)#<undef>

(insert-queue! q1 'b)
(display q1)
gosh> ((a b) b)#<undef>

(delete-queue! q1)
(display q1)
gosh> ((b) b)#<undef>

(delete-queue! q1)
(display q1)
gosh> (() b)#<undef>

キューは先頭項目と最後尾項目のポインタからなるリストで、先頭項目のポインタは印字するとポインタの指し示すリスト全体を印字する。

(define (print-queue queue)
  (front-ptr queue))

(print-queue q1)
gosh> ()
(insert-queue! q1 'c)
(insert-queue! q1 'd)
(insert-queue! q1 'e)
(insert-queue! q1 'f)
(delete-queue! q1)
(print-queue q1)
gosh> (d e f)
計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»