多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # 简介 stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口,形式如图所示。stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法可以存取stack的其他元素。换言之,stack不允许有遍历行为。 有元素推入栈的操作称为:push,将元素推出stack的操作称为pop. ![](https://img.kancloud.cn/69/55/69552a60fde52027a784fba828e6ddf5_514x483.png) # 常用api ## 构造函数 ~~~ stack<T> stkT;//stack采用模板类实现, stack对象的默认构造形式: stack(const stack &stk);//拷贝构造函数 ~~~ ## 赋值函数 ~~~ stack&operator=(const stack &stk);//重载等号操作符 ~~~ ## 数据存取 ~~~ push(elem);//向栈顶添加元素 pop();//从栈顶移除第一个元素 top();//返回栈顶元素 ~~~ ~~~ stack<Maker> s; s.push(Maker("aaa", 18)); s.push(Maker("bbb", 19)); s.push(Maker("ccc", 20)); while (!s.empty()) { cout << "Name:" << s.top().name << " Age:" << s.top().age << endl; s.pop(); } ~~~ ## 大小操作 ~~~ empty();//判断堆栈是否为空 size();//返回堆栈的大小 ~~~