STL之stack容器
1. stack容器基本概念
1.1 stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口,形式如图所示。
stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法可以
存取stack的其他元素。换言之,stack不允许有遍历行为。
有元素推入栈的操作称为:push,将元素推出stack的操作称为pop。

1.2 stack没有迭代器
Stack所有元素的进出都必须符合”先进后出”的条件,只有stack顶端的元素,才有机会被外界取用。
Stack不提供遍历功能,也不提供迭代器。
2. stack常用API
2.1 stack构造函数
stack<T> stkT;//stack采用模板类实现, stack对象的默认构造形式:
stack(const stack &stk);//拷贝构造函数
2.2 stack赋值操作
stack& operator=(const stack &stk);//重载等号操作符
2.3 stack数据存取操作
push(elem);//向栈顶添加元素 pop();//从栈顶移除第一个元素 top();//返回栈顶元素
2.4 stack大小操作
empty();//判断堆栈是否为空 size();//返回堆栈的大小
代码示例:
#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<stack> using namespace std; void test() { stack<int> v; v.push(10); v.push(20); v.push(30); v.push(40); while (v.empty()!=true) { //v.emplace(); cout << v.top() << endl; v.pop(); } } int main(){ test(); system("pause"); return EXIT_SUCCESS; }

浙公网安备 33010602011771号