0% found this document useful (0 votes)
6 views

Expt 5 Implement Linear Queue ADT using array

The document outlines an experiment on implementing a Linear Queue using an array at Rizvi College of Engineering, Mumbai. It details the theory, algorithm, and functions for queue operations such as enQueue, deQueue, and display, along with a sample program structure. Students are required to develop their own program and provide a screenshot of the output, as well as write a conclusion.

Uploaded by

mbpatil5004
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Expt 5 Implement Linear Queue ADT using array

The document outlines an experiment on implementing a Linear Queue using an array at Rizvi College of Engineering, Mumbai. It details the theory, algorithm, and functions for queue operations such as enQueue, deQueue, and display, along with a sample program structure. Students are required to develop their own program and provide a screenshot of the output, as well as write a conclusion.

Uploaded by

mbpatil5004
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Rizvi College of Engineering, Mumbai

_____________________________________________________________________________________

RIZVI EDUCATION SOCIETY’S

Rizvi College of Engineering


∎Approved by AICTE ∎Recognized by DTE ∎Affiliated to University of Mumbai
∎Accredited B+ by NAAC
New Rizvi Educational Complex, Off Carter Rd, Bandra West, Mumbai-400050

Experiment No. 5

Title Array Implementation of Linear Queue.

Name Suyash Pawar


Year/Branch FE/AIDS
Roll No. 17
UIN 241A017

Evaluation Rubric Table

Criteria Points
Correctness of the program

Clarity of documentation

Delivery

Total
Rizvi College of Engineering, Mumbai
_____________________________________________________________________________________

Aim: To Implement Linear Queue ADT using Array.

Theory: A queue data structure can be implemented using a one dimensional array. The queue
implemented using an array stores only a fixed number of data values. The implementation of queue data
structure using arrays is very simple. Just define a one dimensional array of specific size and insert or delete
the values into that array by using FIFO (First In First Out) principle with the help of variables 'front' and
'rear'. Initially both 'front' and 'rear' are set to -1. Whenever, we want to insert a new value into the queue,
increment the 'rear' value by one and then insert at that position. Whenever we want to delete a value from
the queue, then delete the element which is at 'front' position and increment 'front' value by one.

Algorithm:

Queue Operations using Array

Creation of Queue
Before we implement actual operations, first follow the below steps to create an empty queue.
● Step 1 - Include all the header files which are used in the program and define a constant 'SIZE' with
specific value.
● Step 2 - Declare all the user defined functions which are used in queue implementation.
● Step 3 - Create a one dimensional array with above defined SIZE (int queue[SIZE])
● Step 4 - Define two integer variables 'front' and 'rear' and initialize both with '-1'. (int front = -1,
rear = -1)
● Step 5 - Then implement the main method by displaying a menu of operations list and make suitable
function calls to perform operations selected by the user on queue.

enQueue(value) - Inserting value into the queue


In a queue data structure, enQueue() is a function used to insert a new element into the queue. In a queue,
the new element is always inserted at the rear position. The enQueue() function takes one integer value as a
parameter and inserts that value into the queue. We can use the following steps to insert an element into the
queue...

● Step 1 - Check whether the queue is FULL. (is rear = =SIZE-1 ?)


● Step 2 - If it is FULL, then display "Queue is FULL. Insertion is not possible " and terminate the
function.
● Step 3 - If it is NOT FULL, then increment the rear value by one (rear++) and set queue[rear] =
value, also if front =-1 then make front=0.

deQueue() - Deleting a value from the Queue


In a queue data structure, deQueue() is a function used to delete an element from the queue. In a queue, the
element is always deleted from the front position. The deQueue() function does not take any value as a
Rizvi College of Engineering, Mumbai
_____________________________________________________________________________________

parameter. We can use the following steps to delete an element from the queue...

● Step 1 - Check whether the queue is EMPTY. (is front > rear or front = rear = -1)
● Step 2 - If it is EMPTY, then display "Queue is EMPTY! Deletion is not possible!" and terminate
the function.
● Step 3 - If it is NOT EMPTY, then increment the front value by one (front ++). Then display
queue[front] as a deleted element. Then check whether front is greater than rear (is front >rear ?),
if it TRUE, then set both front and rear to '-1' (front = rear = -1).

display() - Displays the elements of a Queue


We can use the following steps to display the elements of a queue...

● Step 1 - Check whether the queue is EMPTY. (is front > rear or front = rear = -1) ● Step 2 - If it
is EMPTY, then display "Queue is EMPTY" and terminate the function.
● Step 3 - If it is NOT EMPTY, then define an integer variable 'i' and set 'i = front'.
● Step 4 - Display 'queue[i]' value and increment 'i' value by one (i++). Repeat the same until 'i' value
reaches to rear (i <= rear)

Program: (students should develop their own prog.)


#include <stdio.h>

#include <stdlib.h>

#define SIZE 10

void enQueue(int); void deQueue(); void display(); int

queue[SIZE], front = -1, rear = -1; int main() { int value,

choice; while (1) { printf("\n\n***** MENU *****\

n"); printf("1. Insertion\n2. Deletion\n3. Display\n4.

Exit"); printf("\nEnter your choice: ");

scanf("%d", &choice); switch (choice) { case

1:

printf("Enter the value to be inserted:

"); scanf("%d", &value);

enQueue(value); break; case 2:

deQueue(); break; case 3:

display(); break; case 4:

exit(0); default:

printf("\nWrong selection!!! Try again!!!");


Rizvi College of Engineering, Mumbai
_____________________________________________________________________________________

} } return 0; } void enQueue(int value) { if

(rear == SIZE - 1) printf("\nQueue is Full!

Insertion is not possible!"); else { if (front == -

1) front = 0; rear++; queue[rear] =

value; printf("\nInsertion success!!!");

} void deQueue()

if (front == -1 || front > rear) printf("\nQueue is

Empty!!! Deletion is not possible!!!"); else { printf("\

nDeleted : %d", queue[front]); front++;

if (front > rear)

front = rear = -1;

} void display() { if (front == -1

|| front > rear) printf("\nQueue

is Empty!!!"); else { int i;

printf("\nQueue elements are:\n");

for (i = front; i <= rear; i++)

printf("%d\t", queue[i]);

Output: (Students should put screenshot of output here)


Rizvi College of Engineering, Mumbai
_____________________________________________________________________________________

Conclusion: (Students should write proper conclusion)

CO Covered:

You might also like