Implementing the Queues Algorithm/Data Structure

Solution

In this tutorial, we will learn how to implement a Queues Data Structure/Algorithm. 

This data structure works on the FIFO technique, where FIFO stands for First In First Out.
The element which was first inserted will be extracted at the first and so on.

Using some of the OOP concepts to implement the Algorithm, we will use the likes of classes and functions.

What we will learn:

  • How to implement the insert functionality
  • How to implement the  delete/remove functionality
  • How to implement the display functionality

The code snippet below:

Queue
class Queues{
    public:
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;
   }
}
void QueuesMenu(){
    cout << "You are now in the Queues" << endl;
    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);
}
};

 

CSC305 Exam Focus/Materials 4/1/2021 Seth 0 Answer(s) 828 views



Author

Seth 1413

Leave a reply

Post your answer

Answers ( 0 )