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

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

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

  • 62 次阅读
  • 3 次下载
  • 2025/6/21 23:37:38

{

S、base=(SElemType *)realloc(S、base,(STACK_INIT_SIZE+STACKINCREMENT) *

sizeof(SElemType)); } //出栈

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

if(S、base==S、top) return ERROR; e=*--S、top; return OK; }

*S、top++=e; return OK;

if(!S、base) exit(ERROR); S、top=S、base+S、stacksize; S、stacksize+=STACKINCREMENT;

//main、cpp

#include\、h\int main() {

char c; SElemType e; SqStack S; InitStack(S);

while((c=getchar())!='#') {

switch(c) {

case '(':

case '[': case '{':

Push (S,c); break;

case ')':

if (S、top==S、base) {

}

GetTop(S,e); if (e=='(') { } break;

Pop(S,e); break;

case ']':

if (S、top==S、base)

{

}

GetTop(S,e); if (e=='[') { } break;

Pop(S,e); break;

case '}':

if (S、top==S、base)

{

break;

}

}

}

}

GetTop(S,e); if (e=='{') { }

Pop(S,e);

break;

if (S、base==S、top) { } else { } return OK;

cout<<\括号不完全匹配\ cout<<\括号完全匹配\

? 运行结果:

(5) 利用栈实现表达式得求值。

? 代码部分: //SqStack、h

#include #include using namespace std; typedef int Status; typedef char SElemType;

typedef struct SqStack{

SElemType data; struct SqStack * next;

}SqStack,*LinkStack; const int OK=1; const int ERROR=0;

Status InitStack(LinkStack &S);//创建栈 Status Push(LinkStack &S,SElemType e);//入栈 Status Pop(LinkStack &S,SElemType &e);//出栈 SElemType GetTop(LinkStack &S);//得到顶部数据 SElemType EvaluateExpression();//表达式求值 Status In(char c,char *OP);//判断C就是否就是数 SElemType Precede(char x,char y);//判断优先关系

SElemType Operate(char a,char thate,char b);//运算返回结果

//SqStack、cpp

#include\、h\

Status InitStack(LinkStack &S){ }

Status Push(LinkStack &S,SElemType e){

//入栈 SqStack *p;

p=(LinkStack)malloc(sizeof(SElemType)); if (!p) exit (ERROR); p->data=e; p->next=S->next; //创建栈

S=(LinkStack)malloc(sizeof(SElemType)); if (!S) exit (ERROR); S->next=NULL; return OK;

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

共分享92篇相关文档

文档简介:

{ S、base=(SElemType *)realloc(S、base,(STACK_INIT_SIZE+STACKINCREMENT) * sizeof(SElemType)); } //出栈 Status Pop (SqStack &S,SElemType &e) { } if(S、base==S、top) return ERROR; e=*--S、top; return OK; } *S、top++=e; return OK; if(!S、base) exit(ERROR); S、top=S、base+S、stacksize; S、stacksize+=STACKINCREMENT; //main、cpp

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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