两个堆栈实现一个队列
2016-07-17 00:00
274 查看
1.插入元素进入队列时,将元素push到stack1中。当有元素出队列时,先将所有元素插入到stack2中,然后进行出栈。出栈结束后,再将剩余元素放回stack1中。这个算法不是最优的。接下来介绍一个从剑指offer中看到的一种算法。
2
入队列:直接将元素插入stack1中。
出队列:如果stack2为空,就将stack1中的全部元素,压入stack2中。如果stack2还为空,就说明当前队列为空。如果stack2不为空,就弹出stack2栈顶元素。
具体代码:http://www.oschina.net/code/snippet_1051716_58057
2
入队列:直接将元素插入stack1中。
出队列:如果stack2为空,就将stack1中的全部元素,压入stack2中。如果stack2还为空,就说明当前队列为空。如果stack2不为空,就弹出stack2栈顶元素。
具体代码:http://www.oschina.net/code/snippet_1051716_58057
相关文章推荐
- C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
- C#线程队列用法实例分析
- 算法系列15天速成 第九天 队列
- C语言单链队列的表示与实现实例详解
- mysql 队列 实现并发读
- C#队列Queue用法实例分析
- C#多线程处理多个队列数据的方法
- C语言循环队列的表示与实现实例详解
- C++循环队列实现模型
- C#内置队列类Queue用法实例
- Array栈方法和队列方法的特点说明
- C#通过链表实现队列的方法
- JavaScript实现显示函数调用堆栈的方法
- 关于PHP堆栈与列队的学习
- JavaScript调用堆栈及setTimeout使用方法深入剖析
- C#队列Queue多线程用法实例
- C#数据结构与算法揭秘五 栈和队列
- C++中队列的建立与操作详细解析
- PHP实现的memcache环形队列类实例
- php基于双向循环队列实现历史记录的前进后退等功能