stack 容器适配器
#include <iostream>
#include <stack>
#include <vector>
#include <deque>
/*
stack 容器适配器
stack 本身不是一种容器,是基于容器是实现的
所有操作都在栈顶进行 top
stack 本身没有迭代器
*/
// 使用函数模板
template <typename T>
void display(std::stack<T> s){
while (!s.empty()) // 不为空 则执行
{
T elem = s.top(); //读取栈顶元素
std::cout << elem << " ";
s.pop(); // 弹出栈顶元素
}
std::cout << std::endl;
};
int main()
{
std::stack<int>s;
for (auto i:{1, 2, 3, 4, 5})
s.push(i); // 放入栈中
display(s);
s.push(100); // 压入元素
display(s);
s.pop();
s.pop();
display(s);
// 没有清空的方法,只有一个一个弹出
while(!s.empty())
s.pop();
display(s);
s.push(10);
s.push(11);
s.top() = 100;
display(s);
}