2014年考研数据结构辅导(13)
专业课
时间: 2019-03-09 12:17:12
作者: 匿名
中缀表达式转化成后缀表达式算法
void trans-post(char E[n] ,char B[n]) //中、后缀表达式转换//
{ //E[n]是中缀表达式、B[n]是后缀表达式存储的空间
int i=0,j=0; char x; stype S;
Clearstack(S); Push(S,‘#’);//‘#’入栈//
do {
x=E[i++] ; //扫描当前表达式分量//
if (x=‘#’) //到了中缀表达式最后了
while(!Emptystack(S)) //全部退栈,#和#是优先级最低的,
B[j++]==pop(S); //所以当前栈的所有运算都要规约
//输出栈顶运算符,并退栈直到遇见栈底的开始放进去的那个#//
else if (isdigit(x))
B[j++]=x; //操作数直接输出//
else if (x=‘)’) //遇到)那么就一定要找到(
{
while (Getstop(S)!=‘(’)
B[j++]=pop(S); //输出栈顶,并退栈//
pop(S); //退掉‘(’//
}
else //x为运算符//
{
while (precede(Getstop(S), x)) //栈顶( q1)与x比较//
B[j++]=pop(S); // q1 >=x时,输出栈顶符并退栈//
Push(S,x); // q1 < x时x进栈//
}
} while (x!=’#’);
B[j]=’#’;
} //置表达式结束符//
猜你喜欢
-
- 03-092015现代汉语考研指导:词类1
- 03-092016管理学考研复习要点:当代西方国家的行政改革
- 03-092016年考研生物化学复习资料:磷脂的代谢
- 03-092013考研专业辅导:企业管理专业答题规范及技巧
- 03-09文学专业考研现代文学三十年之名词解释(7)
- 03-092016管理学考研复习要点:管理方法之教育方法
- 03-09文学专业考研中国古代文学完美背诵讲义(9)
- 03-092014年考研专业课辅导古代文学第四章:先秦诸子散文
- 03-092012考研专业指导:教育心理学复习
- 03-082017年考研农学大纲详解:无机及分析化学