* 注意:只支持小于号重载而不支持其他比较符号的重载。
*/
// 构造方式 :
- std::priority_queue<int>;
-std::priority_queue<int, vector<int>>
- // C++11前,请使用 vector<int> >,空格不可省略
+ std::priority_queue<int>
+ std::priority_queue<int, vector<int>>
+ // C++11 前,请使用 vector<int> >,空格不可省略
std::priority_queue<int, deque<int>, greater<int>>
// 注意:不可跳过容器参数直接传入比较类
```
-## 成员函数
+### 成员函数
1. `top()` : 访问栈顶元素 常数复杂度
2. `empty()` : 检查底层的容器是否为空 常数复杂度
由于 `std::priority_queue` 原生不支持 `modify()` / `join()` / `erase()` 故不做讲解。
-## 示例
+### 示例
```cpp
q1.push(1);
// 堆中元素 : [1];
for (int i = 2; i <= 5; i++) q1.push(i);
// 堆中元素 : [1, 2, 3, 4, 5];
-std ::cout << q1.top() << std ::endl;
+std::cout << q1.top() << std::endl;
// 输出结果 : 5;
q1.pop();
-std ::cout << q1.size() << std ::endl;
+std::cout << q1.size() << std::endl;
// 输出结果 :4
// 堆中元素 : [1, 2, 3, 4];
q1.push(10);
// 堆中元素 : [1, 2, 3, 4, 10];
-std::cout << q1.top() << std ::endl;
+std::cout << q1.top() << std::endl;
// 输出结果 : 10;
q1.pop();
// 堆中元素 : [1, 2, 3, 4];