四、C++ STL--标准模板库:stack和queue容器
stack容器
stack 基本概念
概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口
栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为
栈中进入数据称为 — 入栈 push
栈中弹出数据称为 — 出栈 pop
![](https://gitee.com/peng_xiang_li/Blogimage/raw/master/C++STL /src=http—iqchen.github.io-img-stack.png&refer=http—iqchen.github.jpg)
stack 常用函数
功能描述:栈容器常用的对外接口
构造函数:
stack<T> stk;
//stack采用模板类实现, stack对象的默认构造形式stack(const stack &stk);
//拷贝构造函数
赋值操作:
stack& operator=(const stack &stk);
//重载等号操作符
数据存取:
push(elem);
//向栈顶添加元素pop();
//从栈顶移除第一个元素top();
//返回栈顶元素
大小操作:
empty();
//判断堆栈是否为空size();
//返回栈的大小
示例:
1 |
|
1 | 栈顶元素为: 3 |
总结:
- 入栈 — push
- 出栈 — pop
- 返回栈顶 — top
- 判断栈是否为空 — empty
- 返回栈大小 — size
queue 容器
queue 基本概念
概念:队列–Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口;
队列容器允许从一端新增元素,从另一端移除元素;
队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为;
队列中进数据称为 — 入队 push
队列中出数据称为 — 出队 pop
queue 常用接口
![](https://gitee.com/peng_xiang_li/Blogimage/raw/master/C++STL /2-1P913113140553.jpg)
功能描述:栈容器常用的对外接口
构造函数:
queue<T> que;
//queue采用模板类实现,queue对象的默认构造形式queue(const queue &que);
//拷贝构造函数
赋值操作:
queue& operator=(const queue &que);
//重载等号操作符
数据存取:
push(elem);
//往队尾添加元素pop();
//从队头移除第一个元素back();
//返回最后一个元素front();
//返回第一个元素
大小操作:
empty();
//判断堆栈是否为空size();
//返回栈的大小
示例:
1 |
|
1 | 队头元素-- 姓名: kevin 年龄: 20 |
总结:
- 入队 — push
- 出队 — pop
- 返回队头元素 — front
- 返回队尾元素 — back
- 判断队是否为空 — empty
- 返回队列大小 — size
- pop()虽然会移除下一个元素,但是并不返回它。front()和back()返回下一个元素但并不移除该元素。
- stack中的函数与queue很类似,但是stack中要返回元素时,只能返回最后一个元素,且函数名不一样(stack中为s.top()),需要区分。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kevin的学习站!