previous | index | next

Queue ADT Implementation

The following are unadvertized accessors and mutators for the implementation, not the ADT:
     (define queue-length
       (lambda (queue)
	 (vector-ref queue 0)))

     (define set-queue-length!
       (lambda (queue new-length)
	 (vector-set! queue 0 new-length)))

     (define queue-start
       (lambda (queue)
	 (vector-ref queue 1)))

     (define set-queue-start!
       (lambda (queue new-start)
	 (vector-set! queue 1 new-start)))

     (define queue-cells
       (lambda (queue)
	 (vector-ref queue 2)))

     (define set-queue-cells!
       (lambda (queue new-cells)
	 (vector-set! queue 2 new-cells)))

previous | index | next