小工具知识网

当前位置: 首页 > 行业知识 > 【c++】STL之stack和queue详解

行业知识

【c++】STL之stack和queue详解

2026-11-14 23:19:00 来源:互联网转载

> 作者���介:დ旧言~,目前大二,现在学习Java,c,c++,Python等

> 座右铭:松树千年终是朽,槿花一日自为荣。

> 目标:掌握stack和queue库,了解deque库

> 毒鸡汤:小时候,哭是我们解决问题的绝招,长大后,笑是我们面对现实的武器。

> 望小伙伴们点赞收藏✨加关注哟 

前言

今天咱们学习stack和queue,咱们还是依照官网来学习:

stack - C++ Reference (cplusplus.com)

queue - C++ Reference (cplusplus.com)

⭐主体

        在数据结构初阶中,我们模拟实现了stack和queue,只能说我们知道栈和队列,但是栈和队列的底层是如何实现的我们就不得而知了,面对这个现象我们从新学习栈和队列,深度解剖。学习这个版块,咱们按照下面的图解进行学习:

stack的介绍和使用

stack的介绍

stack - C++ Reference (cplusplus.com)

  1. stack是一种容器适配器,其本质是数据结构中的栈。它是一种只能在一端进行插入和删除操作的线性表。
  2. stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。
  3. 标准容器vector、deque、list均符合这些需求,默认情况下,如果没有为stack指定特定的底层容器,
  4. 默认情况下使用deque。
  5. 栈和队列都叫做适配器/配接器,不是直接实现的,而是封装其他容器,包装转换实现出来的
  6. stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类,这些容器类应该支持以下:
  • empty:判空操作。
  • back:获取尾部元素的操作,这是因为栈的top操作相当于拿取尾部元素。
  • push_back:尾部插入元素操作。
  • pop_back:尾部删除元素操作。

     stack的使用

    函数说明接口说明
    stack()构造空的栈
    empty()检测stack是否为空
    size()返回stack中元素的个数
    top()返回栈顶元素的引用
    push()将元素val压入stack中
    pop()将stack中尾部的元素弹出

    代码训练:

    #include#include#includeusing namespace std;void test_stack(){    stack st;    st.push(1);    st.push(2);    st.push(3);    st.push(4);    st.push(5);        cout 

上一篇:ETCAD下载与安装教程,轻松上手指南

下一篇:游戏怎么暂停服务器状态?