3.5、stack容器
3.5.1、stack基本概念
1、概念:stack是一种先进后出的数据结构,他只有一个出口,栈中只有顶端的元素才能被外界使用,因此栈不许有遍历的行为
- 栈中进入数据称为…入栈 push
- 栈中输出数据称为…出栈 pop
3.5.2、stack接口
1、功能描述:
- 栈容器常用的对外接口
2、 构造函数:
- stack stk; //stack采用模板类实现,stack对象的默认构造形势
- stack(const stack &stk); //拷贝构造函数
3、赋值操作:
- stack& operator=(const stack &stk); //重载等号运算符
4、数据存储:
- push(elem); //向栈顶添加元素
- pop(); //从栈顶删除一个元素
- top(); //返回栈顶元素
- 大小操作:
- empty(); //判断栈是否为空
- size(); //返回栈的大小
5、代码
#include<iostream>
#include<stack>
#include<string>
#include<ctime>
using namespace std;
void test01()
{
//特点:符合先进后出的数据结构
stack<int>s;
s.push(10);
s.push(20);
s.push(30);
s.push(40);
cout << "栈的大小:" << s.size() << endl;
//只要栈不为空,查看栈顶,并执行出栈操作
while (!s.empty())
{
//查看栈顶元素
cout << "栈顶元素为:" << s.top() << endl;
//出栈
s.pop();
}
cout << "栈的大小:" << s.size() << endl;
stack<int>s1;
s1 = s;
}
int main()
{
test01();
system("pause");
return 0;
}
6、总结:
- 入栈 … push
- 出栈 … pop
- 返回栈顶 …top
- 判断站是否为空 … empty
- 返回栈的大小 … size
7、运行结果