stack是一种先进后出的数据结构,它只有一个出口。
栈中只有栈顶的元素才可以被外界使用,因此栈不允许有遍历行为。
栈可以判断容器是否为空。
栈可以返回元素个数。
栈中进入数据——入栈push。
栈中弹出数据——出栈pop。
stack常用接口
// stack常用接口
/*
构造函数:
stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
stack(const stack &stk); //拷贝构造函数
赋值操作:
stack& operator=(const stack &stk); //重载等号操作符
数据存取:
push(elem); //向栈顶添加元素
pop(); //从栈顶移除第一个元素
top(); //返回栈顶元素
大小操作:
empty(); //判断堆栈是否为空
size(); //返回栈的大小
*/
#include <bits/stdc++.h>
using namespace std;
void test01()
{// 先进后出stack<int> s;s.push(10);s.push(20);s.push(30);s.push(40);// 只要栈不为空,就查看栈顶,并执行出栈cout << "栈大小 " << s.size() << endl; // 4while (!s.empty()){cout << s.top() << " "; // 40 30 20 10s.pop();}cout << endl<< "栈大小 " << s.size(); // 0
}
int main()
{test01();
}
/*
总结:
入栈 — push
出栈 — pop
返回栈顶 — top
判断栈是否为空 — empty
返回栈大小 — size
*/