代码随想录刷题——栈与队列篇(理论)
其他:
1.理论
(1)C++中的stack是容器适配器,list(链表)、vector(数组)、deque(双端队列)都可以是栈的底层实现
(2)C++中的STL有多个版本,分别是HP STL(开源)、PJ STL(Visual C++使用,未开源)、SGI STL(Linux的C++编译器GCC使用,开源),后两个都是参照HP STL实现的
(3)栈以底层容器完成所有工作,对外提供统一的接口,底层容器可插拔,所以STL中栈通常被归类为容器适配器,可以用vector、deque、list容器实现
(4)stack不提供迭代器来遍历stack空间
2.常用的SGI STL在没有指定底层实现的情况下,栈和队列都默认是以deque为缺省情况下栈的底层结构
3.初始化
#include<bits/stdc++.h> using namespace std; int main(){stack<int, vector<int>> st;queue<int, list<int>> qu; }