全文预览

利用栈求表达式的值

上传者:学习一点 |  格式:doc  |  页数:17 |  大小:271KB

文档介绍
t b)Р{Р int z;Р?switch(theta)Р {Р case '+':z= (a+b);break;Р case '-':z= (a-b);break;Р case '*':z= (a*b);break;Р case '/':z= (a/b);Р }Р return z; Р}Рint Mrose2(char c) //判断c是否是运算符Р{ Р?if(c=='+'||c=='-'||c=='*'||c=='/'||c=='('||c==')'||c=='#')return 1;Р?else return 0;Р}Р数字栈的各种基本运算,与字符栈的运算相似РStatus InitStack1(SeqStack1 &s) //初始化Р{Р?s.base=(Int*)malloc(STACK_INIT_SIZE*sizeof(Int));Р?if(!s.base)exit(OVERFLOW);Р?s.top=s.base;Р?s.stacksize1=STACK_INIT_SIZE;Р?return 1;Р}РStatus DesStack1(SeqStack1 &s)Р{Р?s.top=s.base=NULL;Р?s.stacksize1=0;Р?return 1;Р}РStatus GetTop1(SeqStack1 s,Int &e)Р{Р?if(s.top==s.base)return 0;Р?e=*(s.top-1);Р?return OK;Р}Рgettop1(SeqStack1 s,Int &e)Р{Р?if(s.top==s.base)return 0;Р?e=*(s.top-1);Р?return e;Р}РStatus Push1(SeqStack1 &s,Int e)Р{Р?if(s.top-s.base>=s.stacksize1)Р?{

收藏

分享

举报
下载此文档