C++ 程式 - 在 STL 中實現優先順序佇列


優先順序佇列是一種容器介面卡,其中佇列的首元素是佇列中所有元素中最大的元素。元素在優先順序佇列中也是非遞減順序排列的。在優先順序佇列中,具有高優先順序的元素先於具有低優先順序的元素進行處理。

函式與說明

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

更新於: 30-7-2019

103 次瀏覽

開啟你的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.