0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是stack?

汽车电子技术 来源:C语言Plus 作者:Maye426 2023-02-27 15:51 次阅读

一、什么是 stack?

stack 容器,又称栈容器,是简单地装饰deque容器而成为另外的一种容器。

二、容器特性

1.单开口容器

实际上该容器模拟的就是栈存储结构,即无论是向里存数据还是从中取数据,都只能从一个开口实现操作。

2.不支持迭代器

只能通过固定的函数插入、访问和删除

三、基本函数实现

1,构造函数

  • stack();创建一个空stack

2.元素的增加、获取与删除

  • void push(const T& x); 往栈中添加元素
  • reference top(const ); 获取栈顶元素
  • void pop(const ); 删除栈顶元素

5.判断函数

  • bool empty() const;判断容器中是否有元素,若无元素,则返回 true;反之,返回 false。

6.大小函数

  • int size() const;返回栈中元素的个数

7.其他函数

  • void swap(stack&);交换两个同类型栈的数据

四、基本用法

#include
#include
using namespace std;
int main()
{
  stack<int> sk;
  sk.push(2);
  sk.push(3);
  sk.push(4);
  sk.push(5);
  //只能这样去遍历,但是遍历玩后,所有的数据都会被删除
  while (!sk.empty())
  {
    cout << sk.top() << " ";
    sk.pop();
  }
  cout << "\\n size:" << sk.size() << endl;
  return 0;
}

给大家布置一个小小的作业,用栈实现类似vs的括号匹配检查的程序~

比如:printf("plus";   检测这个字符串会,显示缺少右括号)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 容器
    +关注

    关注

    0

    文章

    492

    浏览量

    22027
  • STACK
    +关注

    关注

    0

    文章

    13

    浏览量

    2786
收藏 人收藏

    评论

    相关推荐

    OpenHarmony语言基础类库【@ohos.util.Stack (线性容器Stack)】

    Stack基于数组的数据结构实现,特点是先进后出,只能在一端进行数据的插入和删除。
    的头像 发表于 05-10 15:54 449次阅读
    OpenHarmony语言基础类库【@ohos.util.<b class='flag-5'>Stack</b> (线性容器<b class='flag-5'>Stack</b>)】

    #硬声创作季 02-NO STACK 解析

    STACK
    发布于 :2022年10月26日 22:50:25

    An_SNMP_Agent_for_the_Microchip_TCPIP_Stack

    An SNMP Agent for the Microchip TCPIP Stack
    发表于 02-26 17:01 3次下载

    Freescale_BM_USB_Stack_v5.0

    Freescale_BM_USB_Stack_v5.0源代码分享。
    发表于 06-02 17:13 19次下载

    m5stack-esp原理图pdf资料下载

    m5stack-esp原理图
    发表于 04-14 10:48 53次下载
    m5<b class='flag-5'>stack</b>-esp原理图pdf资料下载

    级联与STACK与IRF与集群间的相互区别

    级联与STACK与IRF与集群间的相互区别(深圳核达中远通电源技术有限公司招聘)-级联与STACK与IRF与集群间的相互区别                   
    发表于 08-31 19:59 11次下载
    级联与<b class='flag-5'>STACK</b>与IRF与集群间的相互区别

    stack-ide-nvim Neovim插件

    ./oschina_soft/stack-ide-nvim.zip
    发表于 05-24 10:12 2次下载
    <b class='flag-5'>stack</b>-ide-nvim Neovim插件

    stack-ide基于Stack的IDE后端JSON接口

    ./oschina_soft/stack-ide.zip
    发表于 06-13 10:31 4次下载
    <b class='flag-5'>stack</b>-ide基于<b class='flag-5'>Stack</b>的IDE后端JSON接口

    如何使TI 15.4-Stack支持470M频段

    如何使TI 15.4-Stack支持470M频段
    发表于 11-01 08:26 0次下载
    如何使TI 15.4-<b class='flag-5'>Stack</b>支持470M频段

    配备M5Stack的智能工厂

    电子发烧友网站提供《配备M5Stack的智能工厂.zip》资料免费下载
    发表于 12-09 10:19 0次下载
    配备M5<b class='flag-5'>Stack</b>的智能工厂

    带Blynk的M5Stack

    电子发烧友网站提供《带Blynk的M5Stack.zip》资料免费下载
    发表于 12-19 10:31 0次下载
    带Blynk的M5<b class='flag-5'>Stack</b>

    重磅新品|CM4Stack

    //4月4日,M5精心打磨了一年之久的CM4Stack终于上架,发售当天,立即售罄。这款错过要等几个月的产品,有什么迷人之处?通过下面这个开箱视频,我们可以先了解一下。上新啦CM4Stack是一款
    的头像 发表于 04-14 10:39 930次阅读
    重磅新品|CM4<b class='flag-5'>Stack</b>

    M5Stack圣诞雪球开源分享

    电子发烧友网站提供《M5Stack圣诞雪球开源分享.zip》资料免费下载
    发表于 06-28 10:26 0次下载
    M5<b class='flag-5'>Stack</b>圣诞雪球开源分享

    StickC M5Stack LED闪烁

    电子发烧友网站提供《StickC M5Stack LED闪烁.zip》资料免费下载
    发表于 06-29 11:35 0次下载
    StickC M5<b class='flag-5'>Stack</b> LED闪烁

    TI 15.4-Stack软件

    电子发烧友网站提供《TI 15.4-Stack软件.pdf》资料免费下载
    发表于 08-27 10:37 0次下载
    TI 15.4-<b class='flag-5'>Stack</b>软件