请描述如何用2个队列(List,特征:先进先出)实现一个栈(Stack,特征:先进后出)。可用伪代码或代码实现。
如何用两个列队(list)实现一个栈
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 张大教主 2017-07-04 10:42关注
上面顺手写错了一点:j<q1.length 思路给你说一下哈: 假设两个队列分别为 q1,q2 q1队列元素为:1,2,3,4,5 那么出列的顺序应该也是 1>2>3>4>5 理想的栈顺序应该是:5>4>3>2>1 那么请q2就起作用了 对q1按倒叙取值(5,4,3,2,1)依次放入到q2中, for(int i=q1.length-1;i>=0;i--){ for(int j=0;j<q1.length;j++){ q2[j].push(q1[i]); } } 那么q2的队列入队顺序就变成了:5,4,3,2,1 for(int i=0;i<q2.length;i++){ alert(q2[i]); } 只需对q2顺序出列就OK了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作