zoukankan      html  css  js  c++  java
  • 优先队列

    普通优先队列:

    头文件:#include<queue>、#include<functional>

    定义:

       (默认:从大到小)priority_queue<int> que;

       (自定义:从大到小)priority_queue<int,vector<int>,less<int> > que;

       (最后两个'>'间要有个空格,下同)

       (自定义:从小到大)prioity_queue<int,vector<int>,greater<int> > que;

    操作:

       增加新元素——que.push(a[i]);

       删除队首元素——que.pop();

       访问队首元素——que.top();

       查询元素个数:que.size();

       判断队列空否:que.empty();(空为真)

     结构体优先队列:

    头文件:#include<queue>

    定义:

    step 1:定义所需结构体 

       struct node

       {

        int data;

        char c;

       }; 

    step 2:定义排序方式

    按data的大小 从大到小排:

       bool operator<(node a,node b)

       {

         return a.data<b.data;

       }

    sept 3:定义结构体优先队列

    priority_queue<node> que;

    操作:

       增加新元素:que.push({5,'c'});

       删除队首元素:que.pop();

       访问队首元素:que.top().dataque.top().c;

       查询元素个数:que.size();

       判断队列空否:que.empty();(空为真)

  • 相关阅读:
    圣杯局部和双飞翼布局
    解决css英文换行问题
    存在即合理--字体样式大全
    存在即合理---个别软件下载
    sublime Text3常见插件汇总
    省略的方法
    JS数组方法与python列表方法的比较
    vue中数据改变,强制视图更新,视图不更新的原因和解决办法
    Vue通信
    路由的缓存
  • 原文地址:https://www.cnblogs.com/Cnxz/p/12256605.html
Copyright © 2011-2022 走看看