参考资料:
STL 在 OI 中的应用

stack

stack 后入先出(LIFO)栈

头文件:

#include<stack>

定义:

stack<int> s;

函数:

函数 功能
q.top() 获取栈顶元素(并不删除)
q.pop() 删除栈顶元素
q.push(x) 向栈中加入元素
q.empty() 判断栈是否为空

queue

queue 先入先出(FIFO)队列

头文件:

#include<queue>

定义:

queue<int> q;

函数:

函数 功能
q.front() 获取队首元素(并不删除)
q.pop() 删除队首元素
q.push(x) 向队列中加入元素
q.empty() 判断队列是否为空

priority_queue 优先队列

头文件:

#include<queue>

定义:

priority_queue<int> q; // 队头最大
priority_queue<int,vector<int>,greater<int> > q; 队头最小

函数:

函数 功能
q.top() 获取优先队列中最大的元素(并不删除),其时间复杂度为\(O(1)\)
q.pop() 删除优先队列中最大元素,其时间复杂度为\(O(log n)\)
q.push(x) 向优先队列中加入元素,其时间复杂度为\(O(log n)\)
q.empty() 判断优先队列是否为空

相关文章:

  • 2021-11-17
  • 2021-10-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-17
  • 2021-11-17
  • 2021-11-29
猜你喜欢
  • 2022-01-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-04
  • 2022-12-23
  • 2021-08-25
相关资源
相似解决方案