Blob
1 ;; weiqun zhang's solution3 (define (make-queue)4 (let ((front-ptr '())5 (rear-ptr '()))6 (define (prt-q)7 (newline)8 (display front-ptr))9 (define (emp-q?)10 (null? front-ptr))11 (define (fro-q)12 (if (emp-q?)13 (error "FRONT called with an empty queue")14 (car front-ptr)))15 (define (ins-q! item)16 (let ((new-pair (cons item '())))17 (cond ((emp-q?)18 (set! front-ptr new-pair)19 (set! rear-ptr new-pair))20 (else21 (set-cdr! rear-ptr new-pair)22 (set! rear-ptr new-pair)))))