c优先队列的基本使用方法

c优先队列的基本使用方法

ID:8817357

大小:27.00 KB

页数:5页

时间:2018-04-08

c优先队列的基本使用方法_第1页
c优先队列的基本使用方法_第2页
c优先队列的基本使用方法_第3页
c优先队列的基本使用方法_第4页
c优先队列的基本使用方法_第5页
资源描述:

《c优先队列的基本使用方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、C++优先队列的基本使用方法 #include#include#includeusingnamespacestd;structnode{    friendbooloperator<(noden1,noden2)    {        returnn1.priority"为从小打到排列    }    intpriority;    intvalue;};intmain(){    constintlen=5;    inti;    inta

2、[len]={3,5,9,6,2};    //示例1    priority_queueqi;//普通的优先级队列,按从大到小排序    for(i=0;i,greater>qi2;//从小到大的优先级队列,可将

3、greater改为less,即为从大到小    for(i=0;iqn;//必须要重载运算符    nodeb[len];    b[0].priority=6;b[0].value=1;    b[1].priority=9;b[1].value

4、=5;    b[2].priority=2;b[2].value=3;    b[3].priority=8;b[3].value=2;    b[4].priority=1;b[4].value=4;     for(i=0;i

5、);    }    return0;}对于队列里元素为一个结构体类型,按照某一个属性排序,就需要对比较函数进行重载小结一下:1、若是定义值类型对象,如: int  main() {       priority_queueqn;   noden1;    n1.a=9;    noden2;    n2.a=2;    noden3;    n3.a=50;     qn.push(n1);   qn.push(n2);   qn.push(n3);    int size=qn.size();    for(int i=0;i

6、+)    {        cout<ne2.a)        {     

7、        return  true;        }         else        {             return  false;        }    } }; 其中在c++primer第三版中文版中关于操作符重载有如下描述:"程序员只能为类类型或枚举类型的操作数定义重载操作符我们可以这样来实现把重 载操作符声明为类的成员或者声明为名字空间成员同时至少有一个类或枚举类型的参数 按值传递或按引用传递"因此不可用指针类型的参数;2、如果想定义一个指针类型的优先队列,那就不可这么简单的定义了,你需要自定义一个自己的比较函数,在pri

8、ority_queue的模板函数中,我们可以利用这样

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。