后缀表达式的计算.doc

后缀表达式的计算.doc

ID:48623648

大小:25.57 KB

页数:7页

时间:2020-01-30

后缀表达式的计算.doc_第1页
后缀表达式的计算.doc_第2页
后缀表达式的计算.doc_第3页
后缀表达式的计算.doc_第4页
后缀表达式的计算.doc_第5页
资源描述:

《后缀表达式的计算.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、江南大学物联网工程学院上机报告课程名称数据结构上机名称后缀表达式的计算上机日期2016.3.18班  级姓  名学  号上机报告要求 1.上机名称 2.上机要求 3.上机环境 4.程序清单(写明运行结果) 5.上机体会1.上机名称后缀表达式的计算2.上机要求按常规形式输入算术表达式(例如:输入2*(6-4)+8/4),要求能够:⑴生成表达式的后缀表示,并输出;⑵基于表达式的后缀表示,对该表达式求值;⑶编写一个主程序对表达式求值函数进行测试。3.上机环境VisualC++6.04.程序清单(写明运行结果)#include#inclu

2、de#include#defineERROR0#defineOK1#defineN50#defineSTACK_INT_SIZE10#defineQueue_Size20typedefintElemType;typedefstruct{charQdata[Queue_Size];intfront,rear;}SeqQueue;typedefstruct{ElemType*base;ElemType*top;intstacksize;}SqStack;SqStackOPTR,OPND;SeqQueueSeQ;c

3、harPreTab[7][7]={{'>','>','<','<','<','>','>'},{'>','>','<','<','<','>','>'},{'>','>','>','>','<','>','>'},{'>','>','>','>','<','>','>'},{'<','<','<','<','<','=','x'},{'>','>','>','>','x','>','>'},{'<','<','<','<','<','x','='}};char*OpretorS="+-*/()#";char*Express="2*(6-4)+8/4

4、";intInitStack(SqStack*S);intpush(SqStack*S,ElemType*e);intPop(SqStack*S);voidinitQueue(SeqQueue*Q){Q->front=0;Q->rear=0;}intEnterQueue(SeqQueue*Q,charc){if(Q->rear==Queue_Size){printf("队列满,无法入队!");returnERROR;}Q->Qdata[Q->rear]=c;Q->rear++;returnOK;}intOutQueue(SeqQueue*Q

5、,char*e){if(Q->front==Q->rear){printf("队列空,无法出队!");returnERROR;}*e=Q->Qdata[Q->front++];returnOK;}intInitStack(SqStack*S){S->base=(ElemType*)malloc(STACK_INT_SIZE*sizeof(ElemType));if(!S->base)returnERROR;S->top=S->base;S->stacksize=STACK_INT_SIZE;returnOK;}intPush(SqStack

6、*S,ElemTypee){if((S->top-S->base)>STACK_INT_SIZE)return0;*S->top=e;S->top++;returnOK;}intPop(SqStack*S){inte;if(S->top==S->base)return0;S->top--;e=*S->top;return*S->top;}intIsOps(charc){inti=0;char*p;p=OpretorS;while(i<7){if(*p++==c)break;i++;}returni;}charPrecede(charc1,charc

7、2){inti,j;i=IsOps(c1);j=IsOps(c2);if(PreTab[i][j]=='x')return0;returnPreTab[i][j];}intOperate(inta,charTheOp,intb){switch(TheOp){case'+':returna+b;case'-':returna-b;case'*':returna*b;case'/':returna/b;}return0;}intf(charc){intf=-1;switch(c){case'+':case'-':f=1;break;case'*':ca

8、se'/':f=2;break;default:f=0;break;}returnf;}intOperator(charc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。