8 STL-stack
重新系统学习c++语言,并将学习过程中的知识在这里抄录、总结、沉淀。同时希望对刷到的朋友有所帮助,一起加油哦!
生命就像一朵花,要拼尽全力绽放!死磕自个儿,身心愉悦!
写在前面,本篇章主要介绍STL中常用容器stack。
1.1 stack的基本概念
概念:
栈容器。
stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口。
可以这样理解:
栈容器:可以想象成一只放砖块的小桶。
数据:是砖块,先放入的只能后拿出。即先进后出
先放入的砖块放到桶底(栈底),后放入的砖块在桶顶(栈顶)
stack特性:
- 栈容器符合 先进后出;
- 栈中只有栈顶元素才能被外界访问到,因此不允许遍历;
- 栈可以判断容器是否为空,empty();
- 栈可以返回元素个数,size();
- 栈中进入数据称为 入栈;
- 栈中拿出数据称为 出栈。
1.2 常用接口
构造函数:
- stack<T> stk; //stack采用模板类实现,stack对象的默认构造形式
- stack(const stack& stk); //拷贝构造函数
赋值操作:
- stack& operator=(const stack& stk); //重载等号操作符
数据存取:
- push(elem); //向栈顶添加元素
- pop(); //从栈顶移除第一个元素
- top(); //返回栈顶元素
大小操作:
- empty(); //判断堆栈是否为空
- size(); //返回栈的大小
示例: