Blame


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