0% found this document useful (0 votes)
102 views5 pages

DS Lab Assignment 2

1. Circular queue is a linear data structure where the last position connects to the first, forming a circle. This allows insertion until the queue is full. 2. Basic queue operations on a circular queue are enqueue to insert, dequeue to remove, front to access the first item, and rear to access the last. 3. C++ code is provided to implement a circular queue as an array with functions for insertion, deletion, display and a driver program to test the queue operations.

Uploaded by

hareem aman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
102 views5 pages

DS Lab Assignment 2

1. Circular queue is a linear data structure where the last position connects to the first, forming a circle. This allows insertion until the queue is full. 2. Basic queue operations on a circular queue are enqueue to insert, dequeue to remove, front to access the first item, and rear to access the last. 3. C++ code is provided to implement a circular queue as an array with functions for insertion, deletion, display and a driver program to test the queue operations.

Uploaded by

hareem aman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

COMSATS UNIVERSITY, ISLAMABAD

Sahiwal Campus.

Assignment 2

Assignment Title:
“Circular Queue”

Submitted To:
Sir Sanan

Submitted By:

Name: Hareem Aman


Registration #: SP20-BSI-002
Course: Data Structure
Course code: CSC211
Degree: BS Bioinformatics
Semester-3 Batch-22

Date: 15th April, 2021


Circular Queue:
Circular Queue is a linear data structure in which the operations are performed based on FIFO
principle and the last position is connected back to the first position to make a circle. It is also
called 'Ring Buffer'. In a normal Queue, we can insert elements until queue becomes full.

Operations in Circular queue:


1. Enqueue
Adding an element in the queue if there is space in the queue.
2. Dequeue
Removing elements from a queue if there are any elements in the queue
3. Front
Get the first item from the queue.
4. Rear
Get the last item from the queue.
5. isEmpty/isFull
Checks if the queue is empty or full.

C++ Code for Queue Implementation:


#include <iostream>
using namespace std;
int queue[100], n = 100, front = - 1, rear = - 1;
void Insert() {
int val;
if (rear == n - 1)
cout<<"Queue Overflow"<<endl;
else {
if (front == - 1)
front = 0;
cout<<"Insert the element in queue : "<<endl;
cin>>val;
rear++;
queue[rear] = val;
}
}
void Delete() {
if (front == - 1 || front > rear) {
cout<<"Queue Underflow ";
return ;
} else {
cout<<"Element deleted from queue is : "<< queue[front] <<endl;
front++;;
}
}
void Display() {
if (front == - 1)
cout<<"Queue is empty"<<endl;
else {
cout<<"Queue elements are : ";
for (int i = front; i <= rear; i++)
cout<<queue[i]<<" ";
cout<<endl;
}
}
int main() {
int ch;
cout<<"1) Insert element to queue"<<endl;
cout<<"2) Delete element from queue"<<endl;
cout<<"3) Display all the elements of queue"<<endl;
cout<<"4) Exit"<<endl;
do {
cout<<"Enter your choice : "<<endl;
cin>>ch;
switch (ch) {
case 1: Insert();
break;
case 2: Delete();
break;
case 3: Display();
break;
case 4: cout<<"Exit"<<endl;
break;
default: cout<<"Invalid choice"<<endl;
}
} while(ch!=4);
return 0;
}

Output:
Dry running:

You might also like