C++ Program to Implement Priority_queue in STL

C++Server Side ProgrammingProgramming

Priority queues are a type of container adapters, in which the first element of the queue is the greatest of all elements in the queue. Elements are in also non decreasing order in the priority queue. An element with high priority is served before an element with low priority, in a priority queue.

Functions and descriptions:

Functions used here:
   pq.size() = Returns the size of priority queue.
   pq.insert) = It is used to insert elements to the priority queue.
   pq.delete() = Deletes the value from the priority queue.
   pq.top() = Returns a reference to the top most element of priority queue.

Example Code

#include<iostream>
#include <queue>
#include <string>
#include <cstdlib>
using namespace std;
int main() {
   priority_queue<int> pq;
   int c, i;
   while (1) {
      cout<<"1.Size of the Priority Queue"<<endl;
      cout<<"2.Insert Element into the Priority Queue"<<endl;
      cout<<"3.Delete Element from the Priority Queue"<<endl;
      cout<<"4.Top Element of the Priority Queue"<<endl;
      cout<<"5.Exit"<<endl;
      cout<<"Enter your Choice: ";
      cin>>c;
      switch(c) {
         case 1:
            cout<<"Size of the Queue: ";
            cout<<pq.size()<<endl;
         case 2:
            cout<<"Enter value to be inserted: ";
            cin>>i;
            pq.push(i);
         break;
         case 3:
            i = pq.top();
            if (!pq.empty()) {
               pq.pop();
               cout<<i<<" Deleted"<<endl;
            } else {
               cout<<"Priority Queue is Empty"<<endl;
            }
         break;
         case 4:
            cout<<"Top Element of the Queue: ";
            cout<<pq.top()<<endl;
         break;
         case 5:
            exit(1);
         break;
         default:
            cout<<"Wrong Choice"<<endl;
      }
   }
return 0;
}

Output

1.Size of the Priority Queue
2.Insert Element into the Priority Queue
3.Delete Element from the Priority Queue
4.Top Element of the Priority Queue
5.Exit
Enter your Choice: 1
Size of the Queue: 0
Enter value to be inserted: 2
1.Size of the Priority Queue
2.Insert Element into the Priority Queue
3.Delete Element from the Priority Queue
4.Top Element of the Priority Queue
5.Exit
Enter your Choice: 1
Size of the Queue: 1
Enter value to be inserted: 2
1.Size of the Priority Queue
2.Insert Element into the Priority Queue
3.Delete Element from the Priority Queue
4.Top Element of the Priority Queue
5.Exit
Enter your Choice: 3
2 Deleted
1.Size of the Priority Queue
2.Insert Element into the Priority Queue
3.Delete Element from the Priority Queue
4.Top Element of the Priority Queue
5.Exit
Enter your Choice: 1
Size of the Queue: 1
Enter value to be inserted: 2
1.Size of the Priority Queue
2.Insert Element into the Priority Queue
3.Delete Element from the Priority Queue
4.Top Element of the Priority Queue
5.Exit
Enter your Choice: 3
2 Deleted
1.Size of the Priority Queue
2.Insert Element into the Priority Queue
3.Delete Element from the Priority Queue
4.Top Element of the Priority Queue
5.Exit
Enter your Choice: 2
Enter value to be inserted: 1
1.Size of the Priority Queue
2.Insert Element into the Priority Queue
3.Delete Element from the Priority Queue
4.Top Element of the Priority Queue
5.Exit
Enter your Choice: 2
Enter value to be inserted: 2
1.Size of the Priority Queue
2.Insert Element into the Priority Queue
3.Delete Element from the Priority Queue
4.Top Element of the Priority Queue
5.Exit
Enter your Choice: 2
Enter value to be inserted: 7
1.Size of the Priority Queue
2.Insert Element into the Priority Queue
3.Delete Element from the Priority Queue
4.Top Element of the Priority Queue
5.Exit
Enter your Choice: 2
Enter value to be inserted: 6
1.Size of the Priority Queue
2.Insert Element into the Priority Queue
3.Delete Element from the Priority Queue
4.Top Element of the Priority Queue
5.Exit
Enter your Choice: 4
Top Element of the Queue: 7
1.Size of the Priority Queue
2.Insert Element into the Priority Queue
3.Delete Element from the Priority Queue
4.Top Element of the Priority Queue
5.Exit
Enter your Choice: 5
Exit code: 1
raja
Published on 29-Mar-2019 12:11:37
Advertisements