何为优先级队列呢?队列我们都知道,先进先出,但是优先级队列则不然,优先级队列会根据元素的优先级进行读取。
看下面这段代码
int main()
{
priority_queue<int> a;
int i;
//压入数据
for (i = 0; i < 10; i++)
{
a.push(i);
}
while (!a.empty())
{
printf("%d ", a.top());
a.pop();
}
return 0;
}
运行结果如下:
虽然我们是从小到大进行放入到队列中的,但是访问时,却是按照从大到小的顺序进行访问的,那么这个优先级队列有什么作用呢,在下目前也想不出什么较好的应用场景,不过我觉得用来排序还是可以的