/*
字符串的四则运算。给出一个字符串,
包含0~9的数字和 + -*\/ ()的运算符,
- 仅代表减号不代表负数。举例如下:
输入:1 + 2 * (3 - 4)
*///哈哈,看到这道题,其实一点也不难,这个题根本就不用思考,
//当然是你明白算法之后,这里要用到的算法是逆波兰式。
//如果你有不明白的地方,可以上网搜逆波兰式。/*
我的总结:计算机无法理解人类的正向思维,于是为了满足计算机的...
分类:
编程语言 时间:
2015-08-03 13:06:59
阅读次数:
158
...被输入给坑了 应该先把所有的空格删掉再玩 还有就是测试点里好像根本就没有关于后结合的事情...不过后结合也很简单 控制一下优先级的判断即可.中缀表达式的处理核心就是两个堆栈的维护一个是 操作符一个是 操作数只有当 当前正在处理的操作符的优先级大于(不考虑后结合时) 栈顶操作符的时候, 才进行计...
分类:
编程语言 时间:
2015-07-29 00:46:58
阅读次数:
146
??
#include
#include
#include
#define N 1000
using namespace std;
char s[N];//存储字符串
char str1[N];//存储'o'-到'9'的字符
char str2[N];//存储运算符
int top1,top2;//利用数组模拟栈
int compare(char x)//优先级比较
...
分类:
其他好文 时间:
2015-07-25 18:29:39
阅读次数:
139
02-线性结构3. 求前缀表达式的值(25)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3*(7-4)+8/4的前缀表达...
分类:
其他好文 时间:
2015-07-20 23:40:46
阅读次数:
204
所使用的算法:表达式求值(中缀表达式转后缀表达式,后缀表达式求值值)不如何设计接口,有时间来美化!MainActivity.javapackage com.example.calculator;import java.util.HashMap;import java.util.LinkedList;...
分类:
移动开发 时间:
2015-07-17 21:00:45
阅读次数:
153
该题的思路很明确就是将中缀表达式转换为后缀表达式,然后通过后缀表达式来求值。
class Solution {
public:
int calculate(string s) {
vector postorder;
stack ccache;
stack icache;
string tmp;
...
分类:
其他好文 时间:
2015-07-14 13:35:57
阅读次数:
83
有关栈API详情请参看我的另一篇博文:栈的链式存储 - API实现
实例:
5 + 4=> 5 4 +
1 + 2 * 3 => 1 2 3 * +
8 + ( 3 – 1 ) * 5 => 8 3 1 – 5 * +
中缀表达式符合人类的阅读和思维习惯
后缀表达式符合计算机的“运算习惯”
中缀转后缀算法:
遍历中缀表达式中的数字和符号
对于数字:直接输出
对于符号:...
分类:
其他好文 时间:
2015-07-13 22:35:30
阅读次数:
167
//将中缀表达式转换为后缀表达式intmain(){ int MaxSize = 10; int str[8]={3,3,2,1,0,1,0,2}; char tmp; PtrToStack s; s = CreateStack( MaxSize ); while...
分类:
其他好文 时间:
2015-07-13 20:02:11
阅读次数:
101
算法叫逆波兰表达式逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出。逆波兰表达式又叫做后缀表达式。这个知识点在数据结构和编译原理这两门课程中都有介绍,下面是一些例子: 正常的表达式 逆波兰表达式 a+b ---> a,b,+ a+(b-c) ---> a,b,c,-,+ a+(...
分类:
Web程序 时间:
2015-07-07 14:29:41
阅读次数:
195