c++ 优先队列(priority 您所在的位置:网站首页 stack的pop函数 c++ 优先队列(priority

c++ 优先队列(priority

2023-03-11 12:12| 来源: 网络整理| 查看: 265

C ++中的优先队列是STL中的派生容器,它仅考虑最高优先级元素。队列遵循FIFO策略,而优先队列根据优先级弹出元素,即,优先级最高的元素首先弹出。

它在某些方面类似于普通队列,但在以下方面有所不同:

在优先队列中,队列中的每个元素都与某个优先级相关联,但是优先级在队列数据结构中不存在。优先队列中具有最高优先级的元素将被首先删除,而队列遵循FIFO(先进先出)策略,这意味着插入的元素将被首先删除。如果存在多个具有相同优先级的元素,则将考虑该元素在队列中的顺序。注意:优先队列是普通队列的扩展版本,但优先级最高的元素将首先从优先队列中删除。优先队列的语法priority_queue variable_name;

让我们通过一个简单的示例了解优先队列。

在上图中,我们通过使用push()函数插入了元素,并且插入操作与普通队列相同。但是,当我们使用pop()函数从队列中删除元素时,优先级最高的元素将首先被删除。

优先队列的成员函数函数描述push()它将新元素插入优先队列。pop()它将优先级最高的元素从队列中删除。top()此函数用于寻址优先队列的最顶层元素。size()返回优先队列的大小。empty()它验证队列是否为空。基于验证,它返回队列的状态。swap()它将优先队列的元素与具有相同类型和大小的另一个队列交换。emplace()它在优先队列的顶部插入一个新元素。

让我们创建一个简单的优先队列程序。

示例

#include #include using namespace std; int main() { priority_queue p; // 变量声明. p.push(10); // 插入 10 到队列, top=10 p.push(30); // 插入 30 到队列, top=30 p.push(20); // 插入 20 到队列, top=20 cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有