优先队列

来源:互联网 发布:java免费视频教程 编辑:程序博客网 时间:2024/06/15 15:16

优先队列基础介绍

在优先队列中,优先级高的元素先出队列。

标准库默认使用元素类型的<操作符来确定它们之间的优先级关系。

优先队列的第一种用法,也是最常用的用法:priority_queue<int> qi;

通过<操作符可知在整数中元素大的优先级高。


第二种方法:
如果我们要把元素从小到大输出怎么办呢?
这时我们可以传入一个比较函数,使用functional.h函数对象作为比较函数。

priority_queue<int, vector<int>, greater<int> >qi2;


第三种方法:
自定义优先级,也就是重载<符号

    friend bool operator< (node n1, node n2)
    {//<为从大到小排列,>为从小到大排列 
        return n1.priority > n2.priority;
    }

注意:不要重载>,因为标准库默认使用元素类型的<操作来确定他们之间的优先级关系。

0 0
原创粉丝点击