目录
stack容器
0.stack容器–FILO
头文件
#include <stack>
Stack(堆栈)
对栈的高级封装, 是一种“先进后出,后进先出”的容器,对栈的操作都在栈顶。
迭代器
无迭代器,不能遍历,只能不断地出栈访问栈顶。
1.stack的构造
默认构造
stack<int> s_int;
stack<float> s_float;
stack<string> s_string;
2.stack的push()与pop()
stack.push(elem); //栈顶添加一个元素成为新的栈顶
stack.pop(); //移除栈顶元素,栈顶下面的元素成为新的栈顶
3.访问栈顶元素
stack.top(); //返回栈顶元素
4.栈空判断
stack.empty(); //空返回true,非空返回false
while(!stack.empty()){
cout<<stack.top()<<endl;
stack.pop();
} //通过循环来遍历
5.stack对象的拷贝构造与赋值
stack(const stack &stack); //stack(otherstack),调用拷贝构造
stack& operator = (constb stack &stack); //重载等号操作符
//经典笔试题
stack<int> s1;
stack<int> s2 = s1; //调用拷贝构造函数
stack<int> s3;
s3 = s1; //等号运算符重载
6.stack的大小
stack.emoty(); //判断栈是否为空
stack.size(); //返回栈的长度