bilibiliC++45-46_STL常用容器_stack容器

待我称王封你为后i 2022-10-30 02:28 318阅读 0赞

3.5 stack容器

3.5.1 stack 基本概念

概念: stack是一种 先进后出 (First In Last Out,FILO)的数据结构,它只有一个出口

在这里插入图片描述

栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为

栈中进入数据称为 — 入栈 push

栈中弹出数据称为 — 出栈 pop

生活中的栈:

在这里插入图片描述
在这里插入图片描述

3.5.2 stack 常用接口

功能描述:栈容器常用的对外接口

构造函数:

  • stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
  • stack(const stack &stk); //拷贝构造函数

赋值操作:

  • stack& operator=(const stack &stk); //重载等号操作符

数据存取:

  • push(elem); //向栈顶添加元素
  • pop(); //从栈顶移除第一个元素
  • top(); //返回栈顶元素

大小操作:

  • empty(); //判断堆栈是否为空
  • size(); //返回栈的大小

示例:

  1. #include<iostream>
  2. using namespace std;
  3. #include <stack>
  4. //栈容器常用接口
  5. void test01()
  6. {
  7. //创建栈容器 栈容器必须符合先进后出
  8. stack<int> s;
  9. //向栈中添加元素,叫做 压栈 入栈
  10. s.push(10);
  11. s.push(20);
  12. s.push(30);
  13. while (!s.empty()) {
  14. //输出栈顶元素
  15. cout << "栈顶元素为: " << s.top() << endl;
  16. //弹出栈顶元素
  17. s.pop();
  18. }
  19. cout << "栈的大小为:" << s.size() << endl;
  20. }
  21. int main() {
  22. test01();
  23. system("pause");
  24. return 0;
  25. }
  26. /* 栈顶元素为: 30 栈顶元素为: 20 栈顶元素为: 10 栈的大小为:0 请按任意键继续. . . */

总结:

  • 入栈 — push
  • 出栈 — pop
  • 返回栈顶 — top
  • 判断栈是否为空 — empty
  • 返回栈大小 — size

发表评论

表情:
评论列表 (有 0 条评论,318人围观)

还没有评论,来说两句吧...

相关阅读