8.18
top
← prev up next →

queueπŸ”— i

David K. Storrs

(require queue ) package: queue

A queue structure with amortized O(n) add and remove.

1SynopsisπŸ”— i

> (require queue)
> (let* ([q(queue-add*(make-queue)'a'b'c)];make empty queue, add many items
[q(queue-addq'a)]);add only one item. is alias for (queue-add* q 'a)
(displayln (~a "q is queue?: "(queue?q)))
(displayln (~a "number of items in queue: "(queue-countq)))
(displayln (~a "queue is empty?: "(queue-empty?q)))
(define-values (itemnew-q)(queue-removeq))
(displayln (~a "originally added 'a as first item, upon remove got: "item))
(displayln (~a "'b is member of queue?: "(queue-member?q'b)))
(displayln (~a "queue ID (useful for debugging): "(queue.idq))))

q is queue?: #t

number of items in queue: 4

queue is empty?: #f

originally added 'a as first item, upon remove got: a

'b is member of queue?: #t

queue ID (useful for debugging): queue-15714

top
← prev up next →

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /