题目:用两个栈实现一个队列。队列的声明如下:请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。
分析:
队列的特点是“先进先出”,而栈的特点是“先进后出”。要用两个栈来实现队列。用图分析如下:
程序代码如下:
#include
#include
#include
#ifndef ERROR
#define E...
分类:
其他好文 时间:
2014-07-02 08:00:24
阅读次数:
247
在上一篇优化后队列的实现(C语言实现) 中,虽然我们对队列的时间复杂度进行了优化,但是却让代码的可读性变差了,代码显得略微臃肿(当然,这些话你看看就好,主要是为了奉承这篇博文的)。
这里主要实现的是:利用栈来实现队列
基本思路:
1,创建两个栈
2,两个栈合并起来组装成一个队列,分别取名为instack,outstack,用于进队列,出队列
3,比如有1,2,3,4,5 需要进入队列,先将这一串数压入instack栈中,假设压入顺序为1,2,3,4,5(1为栈底),再将instack中的数据移入outst...
分类:
编程语言 时间:
2014-06-22 14:00:43
阅读次数:
257
用上一篇文章的immutable stack 来实现 immutable queue.
其实就是用两个栈实现队列,就
{CSDN:CODE:395989}...
分类:
其他好文 时间:
2014-06-18 06:21:56
阅读次数:
201
题目:用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和
deleteHead,分别完成队列尾部插入结点 和
队列头部删除结点AppendTail:直接将元素入栈stack1DeleteHead:当stack2中不为空时,在stack2中的栈顶元素是最先进入队列的元素...
分类:
其他好文 时间:
2014-06-07 07:06:14
阅读次数:
232
出题:将输入的表示整数的字符串转变为对应的整数值;分析:每当右边增加一位,说明之前的sum应该高一个数量级,所以*10。由于这两个实现仅仅考虑正规的、正整数输入,所以需要一个Wrapper函数,其功能
主要处理:符号判断(第一个字符是-,+或者直接是数字);非法输入判断(是否有非"012345678...
分类:
其他好文 时间:
2014-05-22 04:48:02
阅读次数:
268
2 stacks to implement a queue.
分类:
其他好文 时间:
2014-05-22 02:25:01
阅读次数:
230
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。输入:每个输入文件包含一个测试样例。对于每个测试样例,第一行输入一个n(1=0)2. POP
从队列中pop一个数。输出:对应每个测试案例,打印所有pop操作中从队列pop中的数字。如果执行pop操作时,队列...
分类:
其他好文 时间:
2014-05-21 19:24:16
阅读次数:
192
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。输入:每个输入文件包含一个测试样例。对于每个测试样例,第一行输入一个n(1=0)2. POP
从队列中pop一个数。输出:对应每个测试案例,打印所有pop操作中从队列pop中的数字。如果执行pop操作时,队列...
分类:
其他好文 时间:
2014-05-19 19:22:26
阅读次数:
182
1 import java.util.Stack; 2 3 public class T007 { 4
public static void main(String[] args) { 5 Queue q = new Queue(); 6 q.stack1...
分类:
编程语言 时间:
2014-05-08 15:32:24
阅读次数:
356