From 3e6fd930c5fd52697043ce81d1dadc608991e545 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 11 Jun 2014 16:02:17 -0400 Subject: [PATCH] Expose queue-prepare-for-dequeue --- minimart/functional-queue.rkt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/minimart/functional-queue.rkt b/minimart/functional-queue.rkt index e7f5772..2b481e0 100644 --- a/minimart/functional-queue.rkt +++ b/minimart/functional-queue.rkt @@ -4,6 +4,7 @@ queue? enqueue enqueue-all + queue-prepare-for-dequeue dequeue list->queue queue->list @@ -26,13 +27,13 @@ (queue (queue-head q) (append (reverse v) (queue-tail q)))) -(define (shuffle q) +(define (queue-prepare-for-dequeue q) (if (null? (queue-head q)) (queue (reverse (queue-tail q)) '()) q)) (define (dequeue q) - (let ((q1 (shuffle q))) + (let ((q1 (queue-prepare-for-dequeue q))) (values (car (queue-head q1)) (queue (cdr (queue-head q1)) (queue-tail q1)))))