Fix delete rear and front pointer when there is only one element left
parent
8fb9081f86
commit
d1c5b4bcb1
|
@ -170,6 +170,9 @@
|
|||
(define (front-delete-deque! deque)
|
||||
(cond ((empty-deque? deque)
|
||||
(error "DELETE! called with an empty deque" deque))
|
||||
((null? (next-node (front-ptr deque)))
|
||||
(set-front-ptr! deque '())
|
||||
(set-rear-ptr! deque '()))
|
||||
(else
|
||||
(set-front-ptr! deque (next-node (front-ptr deque)))
|
||||
(set-prev-node! (front-ptr deque) '())
|
||||
|
@ -178,6 +181,9 @@
|
|||
(define (rear-delete-deque! deque)
|
||||
(cond ((empty-deque? deque)
|
||||
(error "DELETE! called with an empty deque" deque))
|
||||
((null? (prev-node (rear-ptr deque)))
|
||||
(set-front-ptr! deque '())
|
||||
(set-rear-ptr! deque '()))
|
||||
(else
|
||||
(set-rear-ptr! deque (prev-node (rear-ptr deque)))
|
||||
(set-next-node! (rear-ptr deque) '())
|
||||
|
@ -197,5 +203,7 @@
|
|||
(rear-delete-deque! d)
|
||||
(front-delete-deque! d)
|
||||
(rear-delete-deque! d)
|
||||
(front-delete-deque! d)
|
||||
(rear-delete-deque! d)
|
||||
(display-deque d)
|
||||
|
||||
|
|
Loading…
Reference in New Issue