一、标准模板库
(Standard Template Library,STL)
是HP公司开发的一个C++模板库,包含一些常用的数据结构和算法。
具有以下的组件:
1.容器:容纳包含一组元素的对象。
2.迭代器:提供访问容器的方法
3.函数对象
4.算法
二、STL之栈——stack
一、什么是栈
栈也是一种操作(或者说运算)受到限制的特殊线性表。
其插入和删除操作都限制在表的一端进行,这一端被称为“栈顶(top)”,相对的另一端称为“栈底(bottom)”。
两种操作:
1、“进栈(PUSH)”或者“压栈”
2、“出栈(POP)”。
栈的特点是:“先进后出(FILO,First In Last Out)”
三、stack容器
stack翻译为栈,是STL中实现的一个“后进先出”的容器,它提供了栈操作中的很多命令,非常方便。
如:
访问栈顶元素:top()
删除栈顶元素:pop()
元素放入栈顶:push()
使用stack前,要先添加stack头文件,即#include <stack>,同时,必须要有“using namespace std”。
定义一个 stack 的方法如下:
stack<typename> name;
其中,typename 可以是任何基本类型或者容器,name 是栈的名字。
四、Stack 使用方法总结:
s.push(x); 入栈, 将x 接到栈s的顶端。
s.pop(); 出栈,弹出栈顶端s的第一个元素,注意,并不会返回被弹出元素的值。
s.top(); 访问栈顶端元素, 即最早被压入栈s的元素。
s.empty(); 判断栈是否为空 , 当栈空时,返回true。
s.size(); 访问栈中的元素个数。