云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构_实验三_栈和队列及其应用

数据结构_实验三_栈和队列及其应用

  • 62 次阅读
  • 3 次下载
  • 2025/6/21 23:26:30

}

S->next=p; return OK;

Status Pop(LinkStack &S,SElemType &e){ }

SElemType GetTop(LinkStack &S){ }

SElemType EvaluateExpression(){

//表达式求值

LinkStack OPTR,OPND; char a,b,c,x,thate;

char OP[10]={'0','1','2','3','4','5','6','7','8','9'}; InitStack(OPTR); Push(OPTR,'#'); InitStack(OPND); c=getchar();

while(c!='#'||GetTop(OPTR)!='#'){

if(!In(c,OP)){

Push(OPND,c); c=getchar();}

//得到顶部数据 return S->next->data; //出栈 SqStack *p;

if(S->next==NULL) return ERROR; p=S->next; e=p->data; S->next=p->next; return OK;

else{

}

}

}

switch (Precede(GetTop(OPTR),c)){ case '<':

Push(OPTR,c); c=getchar(); break;

case '=':

Pop(OPTR,x); c=getchar(); break;

case '>': }

Pop(OPTR,thate); Pop(OPND,b); Pop(OPND,a);

Push(OPND,Operate(a,thate,b)); break;

return GetTop(OPND);

Status In(char c,char *OP){ }

SElemType Precede(char x,char y){

//判断优先关系 int i,j;

//判断C就是否就是数 for (int i=0;i<10;i++){ } return OK;

if (OP[i]==c)return ERROR;

}

char a[7] = {'+','-','*','/','(',')','#'};//运算符 char b[7][7]={'>','>','<','<','<','>','>',

'>','>','<','<','<','>','>', '>','>','>','>','<','>','>',

'>','>','>','>','<','>','>', '<','<','<','<','<','=',' ', '>','>','>','>',' ','>','>',

'<','<','<','<','<',' ','='};//优先关系表

for( i=0;i<7;i++){ }

for( j=0;j<7;j++){ }

return b[i][j];

if(a[j]==y){break;} if(a[i]==x){break;}

SElemType Operate(char x,char thate,char y){

//运算返回结果

char a[4]={'+','-','*','/'};//运算符 int i,j,k; for(i=0;i<4;i++){ } x-=48; y-=48; switch (i){

case 0:return x+y+48; case 1:return x-y+48; case 2:return x*y+48; case 3:return x/y+48;

if(a[i]==thate)break;

}

}

return ERROR;

//main、cpp

#include\、h\int main(){ }

cout<<\请输入十以内得表达式(以‘#’号结束)\

cout<<\该表达式得值就是:\return 0;

? 运行结果:

五.实验结果得分析与评价(该部分如不够填写,请另加附页)

1. 栈先入后出,利用这一特性可以解决很多问题,但就是也有很多弊端

2. 表达式求值比较麻烦涉及到得知识有点多,函数也比较复杂、不过用工程将文件分

类后还就是清晰简单了些、也方便修改、

注:实验成绩等级分为(90-100分)优,(80-89分)良,(70-79分)中,(60-69分)及格,(59分)不及格。

搜索更多关于: 数据结构_实验三_栈和队列及其应用 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

} S->next=p; return OK; Status Pop(LinkStack &S,SElemType &e){ } SElemType GetTop(LinkStack &S){ } SElemType EvaluateExpression(){ //表达式求值 LinkStack OPTR,OPND; char a,b,c,x,thate; char OP[10]={'0','1','2','3','4','5','6','7','8','9'}; InitStack(OPTR); Push(OPTR,'#'); InitStack(OPND); c=getchar(); while(c!='#'||GetTo

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com