自学内容网 自学内容网

c++优先队列

目录

优先队列 priority_queue

1.定义元素为基本类型的优先队列

2.定义元素为结构体类型的优先队列

3.常用函数介绍


优先队列 priority_queue

优先队列,本质是堆实现。与队列不同的是,priority_queue只能访问队列头部的信息(使用top),且插入元素后,会自动排序默认最大值优先(大根堆)

1.定义元素为基本类型的优先队列

priority_queue<int,vector<int>,less<int>>q1;//最大值优先
priority_queue<int,vector<int>,greater<int>>q2;//最小值优先

2.定义元素为结构体类型的优先队列

struct node1
{
    int x,y;//结构体中的成员
    //定义在结构体内部
    bool operator < (const node1 &a) const
    {
        return x<a.x;//最大值优先.      x>a.x;表示最小值优先
    }
};
priority_queue<nodel>q5;//使用时要把数据定义为node1类型

3.常用函数介绍

  1. top() 访问队头元素
  2. empty() 队列是否为空
  3. size() 返回队列中元素个数
  4. push() 插入元素到队尾(并排序)
  5. pop() 删除队头元素

虽小而精


原文地址:https://blog.csdn.net/zhangshuhao406/article/details/145270284

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!