首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
用俩个栈模拟实现一个队列,如果栈的容量分别是O和P(OP)
[单选题]
用俩个栈模拟实现一个队列,如果栈的容量分别是
O
和
P(O>P),
那么模拟实现的队列最大容量是多少?
O+P
2O+1
2P+1
2O-1
查看正确选项
添加笔记
求解答(0)
邀请回答
收藏(163)
分享
4个回答
添加回答
1
201906201759268
栈:先进先出
队列:先进后出
问题可以转换为:在装入N个元素时,出栈时依然满足先进先出,但在装入N+1个元素时,不再满足先进先出的逻辑。
解: 大的栈作为存储站,小的栈作为缓冲栈;栈O 装入栈P容易的元素,为了使得这些元素先进先出,必须将这些元素压如缓冲栈,再从缓冲栈pop
发表于 2019-08-24 13:55:30
回复(2)
28
Atlantis-H
https://www.cnblogs.com/eniac12/p/4865158.html
发表于 2019-05-25 20:25:11
回复(0)
12
兰陵王&阿兰朵
答:栈A的容量为O,栈B的容量为P,由于O>P,则A为存储栈,B为缓存区
1.将1,..,P元素入栈A,栈底到栈顶的顺序为P,...,1,然后A栈弹出,依次入栈B,然后输出1,,..P
2.将P+1,...,2P+1元素入栈A,然后依次弹出2P+1,...,P+2共n个元素,然后依次入栈B,栈A弹出输出P+1,栈B依次弹出P+2,..,2P+1元素
实现队列容量为2P+1
发表于 2019-05-30 22:40:49
回复(0)
0
牛奶可乐201809180155732
剑指offer上有相关问题来解释怎么模拟,这里就说一下为什么是2P+1,假设现在p满了,o没有满,接着往o里面push,最后o也满了,想pop,这个时候需要先pop p里面的,这部分是没有问题的,p空了之后,把o的要搬到p中去,可是p的容量比o小,导致最后进来的o-p个元素是装不下的
发表于 2019-07-27 08:46:37
回复(2)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
算法工程师
京东
2019
上传者:
小小
难度:
4条回答
163收藏
2394浏览
热门推荐
相关试题
(verbal)最近的研究显示,许...
言语理解与表达
2019
普华永道
人力资源
审计
税务服务
风险管理
管理咨询
行政管理
评论
(3)
来自
职能类模拟题14
下面描述中,符合结构化程序设计风格...
搜狐
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
(verbal)最近的研究显示,许...
言语理解与表达
2019
普华永道
人力资源
审计
税务服务
风险管理
管理咨询
行政管理
评论
(2)
来自
职能类模拟题14
数据链路层滑动窗口机制中发送窗口(...
网络基础
评论
(1)
有关linux线程的描述,正确的是...
京东
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题