一、题目描述 给你一个字符串,包含+,-,*,/和(),数字为0-9,让计算该表达式的值,例如"1+2*3-(8/4)+6",结果为11,这是前几天面试去哪儿网,二面面试官让手撕的题目。记忆中本科的时候遇到过,当时也没啥思路。其实这个题需要分两步完成,第一步:把字符串表达式的中缀形式转为后缀形式,怎 ...
分类:
其他好文 时间:
2018-09-16 15:39:32
阅读次数:
126
以前的: 1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 using namespace std; 5 int lc[10000],rc[10000]; 6 int type[10000]; 7 double data[10000 ...
分类:
其他好文 时间:
2018-09-14 16:00:13
阅读次数:
167
#include using namespace std; char s[105]; int n; stackst; vectorvec; void csh() { vec.clear(); } int comp(char x,char y) { // 定义运算符优先级: x 是否大于 y void... ...
分类:
其他好文 时间:
2018-09-09 12:02:30
阅读次数:
146
#include <bits/stdc++.h>using namespace std; /*判断符号间的优先关系函数*1表示>,0表示=,-1表示<*c1栈内的算符,c2栈外的算符*/int Judge(char c1,char c2){ int a1,a2; if('+'==c1||'-'==c ...
分类:
其他好文 时间:
2018-09-08 21:02:22
阅读次数:
249
main.c stack.h stack.c ...
分类:
其他好文 时间:
2018-09-08 10:25:56
阅读次数:
175
题意:给出一个语法树(二叉树),输出相应的中缀表达式。 思路:很显然,通过中序遍历来做。通过观察,发现除了根结点之外的所有非叶结点的两侧都要输出括号,故在中序遍历时判断一下即可。 代码: ...
分类:
其他好文 时间:
2018-09-02 15:06:32
阅读次数:
173
前缀表达式(波兰表达式)、中缀表达式、后缀表达式(逆波兰表达式) 介绍 三种表达式都是四则运算的表达方式,用以四则运算表达式求值,即数学表达式的求解。 前缀表达式 前缀表达式是一种没有括号的算术表达式,与中缀表达式不同的是,其将运算符写在前面,操作数写在后面。为纪念其发明者波兰数学家Jan Luka ...
分类:
其他好文 时间:
2018-08-03 14:11:27
阅读次数:
216
【题目链接】 http://ybt.ssoier.cn:8088/problem_show.php?pid=1356 【代码】 ...
分类:
其他好文 时间:
2018-08-01 22:16:12
阅读次数:
373
在上一篇随笔中已经知道如何将中缀表达式转换为后缀表达式,那么如何由后缀表达式计算出值呢? ...
分类:
其他好文 时间:
2018-07-30 14:38:40
阅读次数:
154