stack 基本概念
stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口
栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为
栈中进入数据称为 — 入栈 push
栈中弹出数据称为 — 出栈 pop
stack 常用函数
功能描述:栈容器常用的对外接口
构造函数:
stack<T> stk;
//stack采用模板类实现, stack对象的默认构造形式stack(const stack &stk);
//拷贝构造函数
赋值操作:
stack& operator=(const stack &stk);
//重载等号操作符
数据存取:
push(elem);
//向栈顶添加元素pop();
//从栈顶移除第一个元素top();
//返回栈顶元素
大小操作:
empty();
//判断堆栈是否为空size();
//返回栈的大小
#include<iostream>
#include<string>
#include<stack>
using namespace std;
int main() {
/*构造函数*/
stack<int> s1;
/*元素入栈*/
s1.push(1);
s1.push(2);
s1.push(3);
s1.push(4);
/*查看栈顶元素*/
cout << "栈顶元素:" << s1.top() << endl;
/*判断栈是否为空*/
cout << (s1.empty() ? "为空" : "不为空") << endl;
/*获取栈中元素的个数*/
cout << "栈的大小为:" << s1.size() << endl;
/*复制构造函数*/
stack<int> s2(s1);
/*元素出栈*/
while (!s1.empty()) {
cout << "元素:" << s1.top() << " 即将出栈" << endl;
s1.pop();
}
cout << "栈的大小为:" << s1.size() << endl;
/*赋值操作符*/
stack<int> s3 = s2;
return 0;
}