题目链接:http://poj.org/problem?id=1028 注意: 1、用两个栈来模拟,一个用来存可以返回的,一个用来存可以前进的。 2、visit方法,就要将可以前进的栈清空。 3、back方法,将当前的网页给可以前进的栈,而可以返回的栈出栈一个元素。 4、forward方法,将当前网 ...
分类:
Web程序 时间:
2016-04-20 19:58:29
阅读次数:
155
题目一:用两个栈实现队列,队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列的尾部插入节点和在队列的头部删除节点的功能。 template <class T> class CQueue { CQueue(); ~CQueue(); void appendTa ...
分类:
其他好文 时间:
2016-04-18 20:19:10
阅读次数:
228
问题 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 将入队的元素,加入stack1,如果有出队操作,则将stack1中的元素依次压入stack2,从stack2中弹出元素就等于出队操作,直到从stack2中弹出所有元素,则才又从stack1中加入元素。 ...
分类:
其他好文 时间:
2016-04-17 16:05:29
阅读次数:
166
大多数人的思路是:始终维护s1作为存储空间,以s2作为临时缓冲区。 入队时,将元素压入s1。 出队时,将s1的元素逐个“倒入”(弹出并压入)s2,将s2的顶元素弹出作为出队元素,之后再将s2剩下的元素逐个“倒回”s1。 见下面示意图: 上述思路,可行性毋庸置疑。但有一个细节是可以优化一下的。即:在出 ...
分类:
其他好文 时间:
2016-04-13 20:42:32
阅读次数:
125
利用栈的特性,实现队列1.栈-后进先出,队列-先进先出,使用两个栈,栈1作用为push数据用,栈2作为pop数据用。2.原理分析:1).push数据-当模拟实现的queuepush数据往栈1中push。2).pop数据-判断栈2是否为空,如果栈2为空,则首先将栈1的数据压入到栈2中(依次取栈顶元素push到栈..
分类:
其他好文 时间:
2016-04-13 00:35:15
阅读次数:
126
使用两个栈实现一个队列思路一:我们设定s1是入栈的,s2是出栈的。入队列,直接压到s1即可出队列,先把s1中的元素倒入到s2中,弹出s2中的栈顶元素;再把s2的剩余元素全部倒回s1中。
分类:
编程语言 时间:
2016-04-12 16:07:20
阅读次数:
269
用两个栈模拟队列的思想就是“倒水思想”,这里我们用自定义类型模拟出线性表,再用线性表做容器实现栈的数据结构,最后用栈来实现队列,代码如下:#include<iostream>
#include<string>
#include<cassert>
struct__TrueType//类型萃取
{
boolGet()
{
re..
分类:
其他好文 时间:
2016-04-09 01:49:02
阅读次数:
219
题目描述:用两个栈实现一个队列分析:栈的特性是后进先出,队列的特性是先进先出。如果用栈实现队列,入队的时候,应该直接给其中一个栈进行入栈操作,关键就在于怎样出队列,对于队列来说,出队列是在队头操作,也就是需要将先入栈(栈底元素)的元素让其出栈,显然,一个栈..
分类:
其他好文 时间:
2016-04-07 01:36:35
阅读次数:
145
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 Tips: 用两个栈实现一个队列的功能? 要求给出算法和思路! <分析>: 入队:将元素进栈A 出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈; 如果不为空,栈B直 ...
分类:
其他好文 时间:
2016-04-05 12:28:59
阅读次数:
129