代码随想录算法训练营第9日|

栈和队列理论基础

  1. C++中stack 是容器么?
    
  2. 我们使用的stack是属于哪个版本的STL?
  3. 我们使用的STL中stack是如何实现的?
  4. stack 提供迭代器来遍历stack空间么?

我的解答:
5. 在c++中stack被归类为容器适配器,栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔的(也就是说我们可以控制使用哪种容器来实现栈的功能)。
6. 在GCC中使用的SGI_STL,开源且可读性强
7. 默认使用deque实现stack,也可以切换成vector或者list
8. 不提供

232.使用栈实现队列

  1. 使用俩个栈实现,一个是输入栈,一个是输出栈,当输出栈为空时,将所有输入栈的数据按顺序放入。pop中可以服用peek的代码

尝试实现:
较为简单,stack的POP()是没有返回值的

225,使用队列实现栈

要求只是用一个队列。
如果使用数组的话,能使用栈顶指针实现,满足一个数组实现。
队列的话,POP()的时候将前面的元素重新push,将需要出栈的元素推到队头就行

实现简单。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值