You are on page 1of 9

Queue

by
Khuram Shahzad
Queue
FIFO (First In First Out)
Applications of Queue
In real world
The line at the supermarket
People line up or queue up for getting on a bus
Waiting at the bank

In Computer world
A List of Jobs Waiting to be Printed
Mouse Clicks
Key Stroke Buffer
Operating system process scheduling

Queue
FIFO
enqueue (5) enqueue (7) enqueue (9) enqueue (3) dequeue () dequeue ()
5 7 3 9
enqueue (6)
6
0 1 2 3 4
rear
enqueue (5) enqueue (7) enqueue (9) enqueue (3) dequeue () dequeue ()
5 7 3 9
Queue implementation
using arrays
bool isFull( ){
if(rear == size-1)
return true;
return false;
}
bool isEmpty( ){
if(rear == -1)
return true;
return false;
}
bool enqueue ( int a){
if(isFull()){
cout<<Error: Overflow;
return false;
}
arr[++rear] = a;
return true;
}
bool dequeue (){
if(isEmpty()){
cout<<Error: Underflow;
return false;
}
for(int i=0; i<rear; i++){
arr[i]=arr[i+1];}
rear--;
return true;
}
const int size = 5;
int arr[size];
int rear = -1;
0 1 2 3 4
rear
enqueue (5) enqueue (7) enqueue (9) enqueue (3) dequeue () dequeue ()
5 7 3 9
0 1 2 3 4
rear
enqueue (5) enqueue (7) enqueue (9) enqueue (3) dequeue () dequeue ()
5 7 3 9
Another Queue implementation
using arrays
enqueue (6)
6
dequeue ()
front
enqueue (4)
4
0 1 2 3 4
rear
enqueue (5) enqueue (7) enqueue (9) enqueue (3) dequeue () dequeue ()
5 7
3
9
enqueue (6)
6
dequeue ()
front
enqueue (4)
4 8
enqueue (8)
bool isFull( ){
if(front == -1 && rear == size-1)
return true;
return false;
}
bool isEmpty( ){
if(front == rear)
return true;
return false;
}
bool enqueue ( int a){
if(isFull()){
cout<<Error: Overflow;
return false;
}
if(rear == size-1 && front != -1)
shiftLeft();
arr[++rear] = a;
return true;
}
int dequeue (){
if(isEmpty()){
cout<<Error: Underflow;
exit(0);
}
return arr[++front];
}
const int size = 5;
int arr[size];
int front = rear = -1;
shiftLeft( );
0
1
2
3
4
5
7
3
6
8
enque(5)
9
4
2
enque(7) enque(3) enque(8) deque() enque(6) deque() enque(9) deque() enque(4) enque(2)
Circular Queue
Circular Arrays

rear
front
Problem.
rear = (rear + 1) % size
and front?

You might also like