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-092018考研:管综论证有效性分析必考逻辑缺陷
- 03-082018艺术考研:在职研究生备考需培养的三大素养
- 03-092016历史学考研辅导:二战及影响
- 03-09考研专业辅导:如何搭建历史学考研知识体系?
- 03-082017年中医临综新增内容:临床医学人文精神
- 03-092012考研专业指导:胸部外科疾病复习
- 03-092015考研法学指导(第三章)
- 03-092015法学考研指导(二十四):法律行为1
- 03-092015古代汉语考研指导:苏秦连横约从
- 03-092016历史学考研辅导:共产国际