stack是一种先进后出的数据结构,它只有一个出口,如图所示:
栈中只有顶端元素才可以被外界使用,因此栈不允许有遍历行为,栈可以判断栈是否为空:empty(),
栈中进入数据称为:入栈-------push()
栈中弹出数据称为:出栈--------pop()
stack常用的接口:
1、构造函数:
stack stk; //stack采用模板类实现,stack对象的默认构造形式
stack(const stack &stk); //拷贝构造函数
2、赋值操作
stack& operator=(const stack &stk);
3、数据存取
push(elem); //向栈顶添加元素
pop(); //从栈顶移除第一个元素
top(); //返回栈顶元素
4、大小操作
empty();//判断栈是否为空
size();//返回栈的大小
示例:
//z栈的常见接口
void test01(){
//特点:先进后出的数据结构
stack<int>s; //构造栈容器
stack<int>s1;
//入栈
s.push(10);
s.push(20);
s.push(30);
s.push(40);
s1 = s;
//只要栈不空,我们就出栈并访问出栈数据
while(!s1.empty()){
//查看栈顶元素
cout<<"栈顶元素为: "<<s1.top()<<endl;
//出栈
s1.pop();
}
cout<<"栈的大小为"<<s1.size()<<endl;
}
输出样式: