우선 순위 대기열은 대기열의 첫 번째 요소가 대기열의 모든 요소 중 가장 큰 컨테이너 어댑터 유형입니다. 요소는 우선 순위 대기열에서도 내림차순이 아닙니다. 우선 순위가 높은 요소는 우선 순위 대기열에서 낮은 우선 순위의 요소보다 먼저 제공됩니다.
기능 및 설명:
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.
예시 코드
#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; }
출력
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