题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 ...
分类:
其他好文 时间:
2016-08-10 22:39:55
阅读次数:
111
一,使用单链表实现栈 ①栈需要一个栈顶指针 ②栈的基本操作有出栈和入栈,以及判断栈是否为空 ③单链表中每个结点表示一个栈元素,每个结点有指向下一个结点的指针。因此,在栈内部需要实现一个单链表。代码如下: 二,使用两个栈实现队列 ①栈是先进后出,而队列是先进先出。要实现队列,就需要实现队列的基本操作, ...
分类:
其他好文 时间:
2016-07-02 20:13:59
阅读次数:
201
解题思路: 插入操作在stack1中进行,删除操作在stack2中进行,如果stack2为空,则将stack1中的所有元素转移到stack2中。 ...
分类:
其他好文 时间:
2016-06-23 23:58:38
阅读次数:
213
用两个栈实现队列 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 代码 ...
分类:
其他好文 时间:
2016-06-22 23:38:04
阅读次数:
165
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 ...
分类:
其他好文 时间:
2016-06-11 20:01:15
阅读次数:
157
本文是【常用算法思路分析系列】的第三篇,分析栈和队列相关的高频题目。本文分析:1、可查询最值的栈;2、用两个栈实现队列的功能;3、反转栈中元素;4、排序栈中元素;5、滑动窗口问题。
本系列前两篇导航:
【常用算法思路分析系列】排序高频题集
【常用算法思路分析系列】字符串高频题集
1、可查询最值的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。...
分类:
编程语言 时间:
2016-05-21 11:47:49
阅读次数:
252
剑指offer第七题:利用两个栈实现队列 扩展:利用两个队列实现栈 ...
分类:
其他好文 时间:
2016-05-18 21:44:19
阅读次数:
163
1.用两个栈实现队列
分析:队列的特点是“先进先出”,而栈的特点是“后进先出”,入队列时让所有的元素进到stack1中,出队列时先判断stack2是否为空,不为空直接pop即可,若为空,将stack1中所有的元素“倒入”stack2中,这样就用两个栈实现了队列。
实现代码:
class Solution
{
public:
void push(int node) {
...
分类:
其他好文 时间:
2016-05-12 16:28:22
阅读次数:
149
方法一:入队时,将元素压入s1。出队时,将s1的元素逐个“倒入”(弹出并压入)s2,将s2的顶元素弹出作为出队元素,之后再将s2剩下的元素逐个“倒回”s1。方法二:入队时,先判断s1是否为空,如不为空,说明所有元素都在s1,此时将入队元素直接压入s1;如为空,要将s2的元素逐..
分类:
其他好文 时间:
2016-04-22 01:32:27
阅读次数:
195
题目一:用两个栈实现队列,队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列的尾部插入节点和在队列的头部删除节点的功能。 template <class T> class CQueue { CQueue(); ~CQueue(); void appendTa ...
分类:
其他好文 时间:
2016-04-18 20:19:10
阅读次数:
228