Changeset 3218

Show
Ignore:
Timestamp:
05/30/08 13:37:11 (7 months ago)
Author:
ksprotte
Message:

branches/bos-trunk-sat: added a simple queue implementation

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/bos-trunk-sat/projects/bos/web/utils.lisp

    r2343 r3218  
    440440        do (vector-push-extend c result) 
    441441        finally (return result))) 
     442 
     443;;; simple queue 
     444(defun make-queue () 
     445  (cons nil nil)) 
     446 
     447(defun queue-empty-p (queue) 
     448  (null (car queue))) 
     449 
     450(defun enqueue (x queue) 
     451  (if (null (car queue)) 
     452      (setf (cdr queue) (setf (car queue) (list x))) 
     453    (setf (cdr (cdr queue)) (list x) 
     454          (cdr queue) (cdr (cdr queue)))) 
     455  (car queue)) 
     456 
     457(defun dequeue (queue) 
     458  (pop (car queue))) 
     459