STL容器之优先队列

原创 2016年08月30日 14:51:15

参考:拼装小火车


要学会如何定义最小优先队列、最大优先队列

对于自己定义的结构体,如何定义最小、最大优先队列

核心:

//定义比较结构
struct cmp1{
    bool operator ()(int &a,int &b){
        return a>b;//最小值优先
    }
};

struct cmp2{
    bool operator ()(int &a,int &b){
        return a<b;//最大值优先
    }
};

//自定义数据结构
struct number1{
    int x;
    bool operator < (const number1 &a) const {
        return x>a.x;//最小值优先
    }
};
struct number2{
    int x;
    bool operator < (const number2 &a) const {
        return x<a.x;//最大值优先
    }
};
 priority_queue<int>que;//采用默认优先级构造队列

    priority_queue<int,vector<int>,cmp1>que1;//最小值优先
    priority_queue<int,vector<int>,cmp2>que2;//最大值优先

    priority_queue<int,vector<int>,greater<int> >que3;//注意“>>”会被认为错误,
    priority_queue<int,vector<int>,less<int> >que4;////最大值优先

    priority_queue<number1>que5; //最小优先级队列
    priority_queue<number2>que6;  //最大优先级队列


priority_queue 优先队列容器

priority_queue 优先队列容器     优先队列容器也是一种从一端入队,另一端出对的队列。不同于一般队列的是,队列中最大的元素总是位于队首位置,因此,元素的出对并非按照先进先出的要求...
  • ZWY18064117182
  • ZWY18064117182
  • 2016年09月03日 16:58
  • 771

STL优先队列详解

优先队列           优先队列是一种抽象数据类型(Abstract Date Type,ADT),行为和队列类似,但是先出队的元素不是先进队列的元素,而是队列中优先级最高的元素。 ...
  • chaiwenjun000
  • chaiwenjun000
  • 2015年05月03日 10:11
  • 968

STL序列式容器之优先队列——priority_queue

优先队列有一个有权值的队列,由于是一个队列,所以只支持在尾部插入元素,在头部弹出元素,弹出元素的权值最大。由于含有权值,所以优先队列中的元素并未按照被推入的次序进行排序,而是自动按照元素的权值进行排序...
  • qq_27225851
  • qq_27225851
  • 2016年07月12日 10:55
  • 352

标准模板库STL中优先队列Priority Queues使用手册

优先队列容器默认使用向量容器实现,用户也可以使用双端队列容器。优先队列总是把优先级最高的元素放在队列的最前方,来保持队列的有序性。 插入操作push()使用一个双变量的布尔函数,将队列中的元素重新排...
  • yuanjilai
  • yuanjilai
  • 2012年10月06日 14:56
  • 10303

C++ STL优先队列常用用法

STL优先队列
  • CerberuX
  • CerberuX
  • 2016年06月26日 13:08
  • 1126

STL学习笔记— —特殊容器priority_queue

简介在头文件 中定义namespace std { template class priority_q
  • lyh03601
  • lyh03601
  • 2016年05月04日 17:41
  • 4878

c++STL中优先队列的使用

说到队列,我们首先想到就是先进先出,后进后出;那么何为优先队列呢,在优先队列中,元素被赋予优先级,当访问元素时,具有最高级优先级的元素先被访问。即优先队列具有最高级先出的行为特征。 优先队列在头文件...
  • AC_Gibson
  • AC_Gibson
  • 2015年03月11日 16:15
  • 12947

STL容器之优先队列

优先级队列,以前刷题的时候用的比较熟,现在竟然我只能记得它的关键字是priority_queue(太伤了)。在一些定义了权重的地方这个数据结构是很有用的。 先回顾队列的定义:队列(queue)维...
  • greenapple_shan
  • greenapple_shan
  • 2014年08月08日 18:37
  • 381

STL中堆和优先队列的使用方法

一、heap #include make_heap(首位置, 尾位置+1, 可选的cmp函数);  -> 构造堆,将数组堆化 push_heap(首位置, 尾位置+1, 可选的cmp函数);  ->...
  • DjangoBUAA
  • DjangoBUAA
  • 2016年04月20日 14:31
  • 1494

优先队列C++与STL入门-刘汝佳

为了加深下印象,想一遍,方便下次查。  优先队列是一种抽象数据类型,先出队的不同于显出队列,而是队列中优先级最高的元素现出。(类似于“急诊病人插队”) STL的优先队列在头文件中,用“priority...
  • qq_33951440
  • qq_33951440
  • 2016年11月02日 19:38
  • 474
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STL容器之优先队列
举报原因:
原因补充:

(最多只允许输入30个字)