Очередь как процедура с внутренним состоянием
Вместо того, чтобы представлять очередь как пару указателей, можно построить ее в виде процедуры с внутренним состоянием. Это состояние будет включать указатели на начало и конец обыкновенного списка. Таким образом,
make-queue
будет иметь вид
(define (make-queue)
(let ((front-ptr ...)
(rear-ptr ...))
<definitions of internal procedures>
(define (dispatch m) ...)
dispatch))
Закончите определение
make-queue
и реализуйте операции над очередями с помощью этого представления.
Комментарии отсутствуют.