栈和队列
2015-12-03 17:41
190 查看
栈是后进先出的线性表。
队列是一种先进先出的线性表。和我们日常生活中的排队是一致的,最早进入队伍的最先离开。
1. 用两个栈s1,s2实现队列。
思路是:
入队时,将元素压入s1。
出队时,判断s2是否为空,如不为空,则直接弹出顶元素;如为空,则将s1的元素逐个“倒入”s2,把最后一个元素弹出并出队。
2. 用两个队列实现栈
q1是专职进出栈的,q2只是个中转站
入栈:直接入队列q1即可
出栈:把q1的除最后一个元素外全部转移到队q2中,然后把刚才剩下q1中的那个元素出队列。之后把q2中的全部元素转移回q1中
队列是一种先进先出的线性表。和我们日常生活中的排队是一致的,最早进入队伍的最先离开。
1. 用两个栈s1,s2实现队列。
思路是:
入队时,将元素压入s1。
出队时,判断s2是否为空,如不为空,则直接弹出顶元素;如为空,则将s1的元素逐个“倒入”s2,把最后一个元素弹出并出队。
2. 用两个队列实现栈
q1是专职进出栈的,q2只是个中转站
入栈:直接入队列q1即可
出栈:把q1的除最后一个元素外全部转移到队q2中,然后把刚才剩下q1中的那个元素出队列。之后把q2中的全部元素转移回q1中
相关文章推荐
- 使用Maven构建Web项目的目录结构
- 哈理工2019大数阶乘n!problemII
- Android Crash日志抓取及保存
- 500 G JAVA视频网盘分享(Jeecg开源)
- android一款软件的反编译实现(APKtool)
- JSON 核心教程
- linux系统端口映射(路由转发)
- Android 4.4Telephony流程分析SIM卡开机时的数据加载
- java 字符串 与 unicode 之间互相转换
- Android Studio系列教程五--Gradle命令详解与导入第三方包
- actionscript3的一个bug 关于super
- ruby源码编译安装
- C# 小例子
- 微信支付报错误“出现了内部错误”或“无法找到证书路径” 解决方法
- ansible
- 常用Keytool 命令
- springMVC整合dubbo问题及解决方法
- mysql 分区 -
- Android Studio系列教程四--Gradle基础
- 杭电HDU1023卡特兰大数