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();(空为真)

  • 相关阅读:
    php 小试 mysql-zmq-plugin 和 pthreads
    svn:previous operation has not finished
    Http Header里的Content-Type
    sublime text使用及常见问题
    Less:优雅的写CSS代码
    gulp:更简单的自动化构建工具
    js实现『加载更多』功能实例
    JSONP浅析
    使用JSSDK集成微信分享遇到的一些坑
    JavaScript模板引擎实例应用
  • 原文地址:https://www.cnblogs.com/Cnxz/p/12256605.html
Copyright © 2011-2022 走看看