queues(1) - QUEUES A queue is a list from which items may...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
QUEUES A queue is a list from which items may be deleted at one end (front) and into which items may be inserted at the other end (rear) Similar to checkout line in a grocery store - first come first served. It is referred to as a first-in-first-out (FIFO) data structure. Queues have many applications in computer systems: - jobs in a single processor computer - print spooling - information packets in computer networks. - Primitive operations enqueue (q, x): inserts item x at the rear of the queue q x = dequeue (q): removes the front element from q and returns its value. isEmpty(q) : true if the queue is empty, otherwise false. 1 front rear
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Example enqueue(q, ‘A’); enqueue(q, ‘B’); enqueue(q, ‘C’); x = dequeue(q); enqueue(q, ‘D’); enqueue(q, ‘E’); x= dequeue (q) -> x= ‘A’ 2 front rear A B C front rear B C D E
Background image of page 2
Linked List Implementation We need to keep two pointers: front and rear struct queueNode{ char data; struct queueNode * next; }; struct queue{ struct queueNode *front; struct queueNode *rear; }; 3 front A B C D rear
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

This document was uploaded on 06/12/2011.

Page1 / 11

queues(1) - QUEUES A queue is a list from which items may...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online