//stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口
//栈中只有顶端的元素才可以被外界使用,因为栈不允许有遍历行为
//原因:由于FILO原则,只有顶端元素才可以被外界访问,如果访问目前的顶端的上一个存入元素,那么目前的顶端将被弹出
//此时,栈储存的数据发生变化
//栈可以判断元素是否为空? 可以 empty
//栈可以返回元素个数? 可以 size,每进入一个数进行一次++
//入栈 push
//出栈 pop
//构造函数:
//stack stk; //stack采用模板类实现,stack对象的默认构造形式
//stack(const stack &stk); //拷贝构造函数
//赋值操作:
//stack& operator=(const stack &stk); //重载等号操作符
//数据存取:
//push(elelm); //向栈顶添加元素
//pop(); //从栈顶移除第一个元素
//top(); //返回栈顶元素
//大小操作:
//empty(); //判断堆栈是否为空
//size(); //返回栈的大小
#include
using namespace std;
#include
void test01() {
//特点:符合先进后出数据结构
stacks;
//入栈
s.push(10);
s.push(20);
s.push(30);
s.push(40);
cout << "栈的大小: " << s.size() << endl;
//查看栈内数据:如果栈不为空,查看栈顶元素,并且进行出栈操作
//栈为空取1,栈非空取0
while (!s.empty()) {
cout <<"栈顶元素: "<< s.top() << endl;
s.pop();
}
cout << "栈的大小: " << s.size() << endl;
}
int main() {
test01();
}