要求:编程模拟(1+(2+3)*(4*5))的运算过程,重点在于如何解析由括号运算符和数字组成的字符串,并按照正确的顺序完成各种初级运算符的操作。实现思路:用两个栈(LIFO)结构来实现(一个用于保存运算符,一个用于保存操作数) 将操作数压如操作数栈 将操作符压如操作符栈 忽略左括号 在遇到右括号....
分类:
其他好文 时间:
2014-07-16 18:38:11
阅读次数:
256
题目:用两个栈实现一个队列。队列的声明如下:请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。
分析:
队列的特点是“先进先出”,而栈的特点是“先进后出”。要用两个栈来实现队列。用图分析如下:
程序代码如下:
#include
#include
#include
#ifndef ERROR
#define E...
分类:
其他好文 时间:
2014-07-02 08:00:24
阅读次数:
247
用上一篇文章的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
栈与队列都是比较高级的数据结构,虽然不难,但有时有些问题也比较灵活,在《编程之美》与《剑指offer》上就有一些这样的题目。用队列模拟栈、用站栈模拟队列,以及现实队列与栈的最大值与最小值求解,这些都是基础的,只要理解栈的后进先出与队列的先进先出特点即可解决。
1、栈模拟队列
用两个栈,元素从一个栈stackA进入,从另一个栈stackB出来。进队列时直接添加到stackA,出队列时...
分类:
其他好文 时间:
2014-05-23 02:28:08
阅读次数:
213
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、用两个栈实现一个队列 基本思路:初始有两个空栈s1和s2,当入队列是,将元素加入s1,而出队列则从s2出,当然s1与s2之间存...
分类:
其他好文 时间:
2014-05-08 15:12:30
阅读次数:
397