Tue Apr 27 2021

Queue

Data Structure1128 views

Queue is an abstract data type or ordered collection of items where the addition of entities to the rear terminal position, known as enqueue, and removal of entities from the front terminal position, known as dequeue.

The most recently added item in the queue must wait at the end of the collection. The item that has been in the collection the longest is at the front. This ordering principle is sometimes called FIFO, first-in first-out. It is also known as "first-come first-served".

File Name: queue-algorithm.c

/* Enqueue */
If (REAR == N) Then	[Check for overflow]
	Print: Overflow
Else
	If (FRONT and REAR == 0) Then	[Check if QUEUE is empty]
		(a) Set FRONT = 1
		(b) Set REAR = 1
	Else
		Set REAR = REAR + 1	[Increment REAR by 1]
	[End of Step 4 If]
	QUEUE[REAR] = ITEM
	Print: ITEM inserted
[End of Step 1 If]
Exit



/* Dequeue */
If (FRONT == 0) Then	[Check for underflow]
	Print: Underflow
Else
	ITEM = QUEUE[FRONT]
	If (FRONT == REAR) Then	[Check if only one element is left]
		(a) Set FRONT = 0
		(b) Set REAR = 0
	Else
		Set FRONT = FRONT + 1	[Increment FRONT by 1]
	[End of Step 5 If]
	Print: ITEM deleted
[End of Step 1 If]
Exit
Reference:

We use cookies to improve your experience on our site and to show you personalised advertising. Please read our cookie policy and privacy policy.