1.priority_queue(优先队列):
- 概述:C++ STL中的优先队列是优先队列的一种经典实现,插入元素的时间复杂度大约为
- 首先,需要包括queue头文件,也就是这样:
#include<queue>
- 之后,我们先声明打算放入优先队列的变量或结构体,比如:
struct Node{
int value;
bool operator <(const Node& anotherNode)const{//运算符重载
return value<anotherNode.value;
}
};
int a=1;
- C++ STL中的priority_queue可以对各种类型的数据进行排序(基本数据类型或具有运算符重载的结构体).如果是对结构体进行排序,我们就可以通过修改在运算符重载中return的值来修改数据在priority_queue中的排列顺序(降序或升序等)(具体来说(在普通的简单情况下),如果在运算符重载处使用正常的<,在priority_queue中的数据就会按降序排列(也就是从大到小),反之