俩个栈实现一个队列

关注到 stack 本身的函数:
pop()移除栈顶元素
push() 将元素入栈 (在栈顶增加元素)
top() 返回栈顶的元素
size() 求栈中元素数量
empty()判断栈中是否为空 为空则是true

先进后出(FILO)

而队列是先进先出

假设我们用A栈B栈 去模拟一个队列

1、模拟入队
入队的操作,也就类似于入栈的操作。

首先将元素逐一压在A栈,直接push()

2、模拟出队
出队的元素是要将先压入栈的元素出去,而此时先压入栈的元素在栈底。故要借用B栈去做过度。
将A栈的所有元素依次压入B栈,就实现了将A栈的元素顺序逆序了。此时A栈中在栈底的元素就在B栈的顶端了。
( top()返回一个A栈的顶端元素, push()向B栈输入该元素, pop()再删除该元素 )

最后再讲B栈的栈顶元素进行返回删除,完成模拟出对
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值