一、优先队列小结
原型
priority_queue<Type, Container, Functional>
其中Type
为数据类型, Container
为保存数据的容器,Functional
为元素比较方式。
Container 必须是用数组实现的容器,比如 vector
, deque
但不能用 list
。
STL里面默认用的是 vector
. 比较方式默认用 operator<
, 如果后两个参数是缺省。
重载运算符的基本格式
bool operator 运算符 (const 结构体名称 b) const
{
return(什么时候这个运算符对结构体成立);//注意对此运算符使用this->元素名;
}
而STL中的operator <
的比较方式是条件为真时a在b的后面,所以小根堆的话,大的在后面,所以让条件typ>a.typ
成立