判断算术表达式中的括号是否配对

判断算术表达式中的括号是否配对

ID:38620353

大小:118.04 KB

页数:9页

时间:2019-06-16

判断算术表达式中的括号是否配对_第1页
判断算术表达式中的括号是否配对_第2页
判断算术表达式中的括号是否配对_第3页
判断算术表达式中的括号是否配对_第4页
判断算术表达式中的括号是否配对_第5页
资源描述:

《判断算术表达式中的括号是否配对》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、南京信息工程大学数据结构实验(实习)报告实验(实习)名称顺序表、单链表实验(实习)日期2015-10-11得分指导教师顾韵华系计软院专业计科年级2014级班次2一、实验目的1、掌握栈的顺序实现、栈的基本应用二、实验内容1、给出栈的顺序存储的定义及程序实现。2、应用顺序栈,编程实现由十进制到十六进制的转换。3、设计一个算法,编写程序实现:判断一个算术表达式中的括号是否配对,并求出括号的最大嵌套层数。三、数据结构设计和实现1.进制转换#include#include#defineSTAC

2、K_INIT_SIZE100#defineSTACKINCREMENT10//常量定义#defineOK1#defineERROR0#defineOVERFLOW-2#defineTrue1#defineFalse0//函数返回值定义typedefintStatus;typedefintSElemType;typedefstruct{SElemType*base;SElemType*top;intstacksize;}SqStack;StatusInitStack(SqStack&s);//构造一个空栈StatusDest

3、royStack(SqStack&s);//销毁栈StatusClearStack(SqStack&s);//把s置为空栈StatusStackEmpty(SqStacks);intStackLength(SqStacks);//返回栈的元素个数StatusGetTop(SqStacks,SElemType&e);//返回栈顶元素StatusPush(SqStack&s,SElemTypee);//插入元素为新的栈顶元素StatusPop(SqStack&s,SElemType&e);//取出栈顶元素StatusStack

4、Traverse(SqStacks,Status(*vist)());voidconversion(intx);//十进制转换十六进制intfun(inty);//判断栈内元素//函数实现#include"stack.h"#include"stdio.h"StatusInitStack(SqStack&s)//创建一个空栈{s.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));if(!s.base)exit(OVERFLOW);s.top=s.base;s

5、.stacksize=STACK_INIT_SIZE;returnOK;}StatusGetTop(SqStacks,SElemType&e)//读取栈顶元素{if(s.top==s.base)returnERROR;e=*(s.top-1);returnOK;}StatusPush(SqStack&s,SElemTypee)//压栈{if(s.top-s.base>=s.stacksize){s.base=(SElemType*)realloc(s.base,(s.stacksize+STACKINCREMENT)*si

6、zeof(SElemType));if(!s.base)exit(OVERFLOW);s.top=s.base+s.stacksize;s.stacksize+=STACKINCREMENT;}*s.top++=e;returnOK;}StatusPop(SqStack&s,SElemType&e)//删除栈顶元素{if(s.top==s.base)returnERROR;e=*--s.top;returnOK;}voidconversion(intx)//进制转换{SqStacks;inte;InitStack(s);w

7、hile(x){Push(s,x%16);x=x/16;}while(!StackEmpty(s)){Pop(s,e);fun(e);}printf("");}intfun(inty){if(y>=10&&y<=15)printf("%c",55+y);elseprintf("%d",y);return0;}StackEmpty(SqStacks){returns.top==s.base;}//主函数#include"stack.h"#include#include#include

8、intmain(){intn;while(printf("请输入要转换的数字:")!=EOF){scanf("%d",&n);conversion(n);}return0;}1.括号配对#include#include#defineSTACK_

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

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

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