*優先隊列彈出資料是能夠按照隊列元素優先級的順序進行,而不是按照他們進入隊列的先後順序
*元素進入優先隊列時,沒有任何限制
*STL中的priority_queue(頭檔案#include<queue>)預設情況下假定最大的元素也具有最大的優先級
Example:
int main()
{
priority_queue<int> pq;
pq.push(5);
pq.push(10);
pq.push(2);
cout<<pq.top();//10
return 0;
}
利用優先隊列的特性,可以進行排序
Example:
int main()
{
int arr[]{1,3,9,2,4};
priority_queue<int> pq;
for(int x:arr)
{
pq.push(x); //把數組所有元素入隊
}
for(int i=4;i>=0;i--)
{
arr[i]=pq.top(); //按優先級岀隊
pq.pop();
}
for(int x:arr)
{
cout<<x<<ends; //1 2 3 4 9
}
return 0;
}