1
以下是刪除隊列中的項目的一些代碼。我不明白爲什麼最後一個字,隊列在那裏。我確信我缺少一些簡單的東西 - 有人可以澄清嗎?瞭解計劃中的隊列
(define (delete-queue! queue)
(cond ((empty-queue? queue)
(error "DELETE! called with an empty queue" queue))
(else
(set-front-ptr! queue (cdr (front-ptr queue)))
queue)))
^最後一行是我的問題所在;爲什麼在那裏排隊?只要front-ptr設置爲front-ptr的cdr,是否不需要排隊隊列中的第一個元素?
下面是一些上面定義的函數定義:
(define (front-ptr queue) (car queue))
(define (rear-ptr queue) (cdr queue))
(define (set-front-ptr! queue item) (set-car! queue item))
(define (set-rear-ptr! queue item) (set-cdr! queue item))
它只是用來指定返回值;排隊 – zallarak