首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
admin
2019-08-01
42
问题
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
选项
答案
表达式中的括号有以下三对:’(’、’)’、’[’、’]、’{’、’}’,使用栈,当为左括号时入栈,右括号时,若栈顶是其对应的左括号,则退栈,若不是其对应的左括号,则结论为括号不配对。当表达式结束,若栈为空,则结论表达式括号配对:否则,结论表达式括号不配对。 int Match(LinkedList la){ //算术表达式存储在以la为头结点的单循环链表中,本算法判断括号是否正确配对 char S[]; //s为字符栈,容量足够大 P=la一>link; //p为工作指针,指向待处理结点 Stack Init(S); //初始化栈S while(P!=la){ //循环到头结点为止 switch(p一>ch){ case’(’:push(s,p一>ch);break; case’)’:if(StackEmpty(s)IIStackGetTop(s)!=’(’){ printf(”括号不配对\n”);retum(0): } else pop(S); break; case’[’:push(s,p->ch);break; case’[’:if(StackEmpty(s)|| StackGetTop(s)!=l[’){ printf(”括号不配对\n”);return(0); } else pop(S); breaki case’{’:push(s,p->ch);break; case’}’:if(StackEmpty(s)||StackGetTop(s)!=’{’){ printf(”括号不配对\n”):return(0); } else pop(S): break; }P=p->link://后移指针 }//while if(StackEmpty(S)){printf(”括号配对\n”);return(1): } else{ printf(”括号不配对\n”);return(0); } }
解析
转载请注明原文地址:https://kaotiyun.com/show/I8Ci777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
试论中国古代经济重心南移的过程。
苏联“十四大”“十五大”后经济建设的核心内容是()
【《望厦条约》】上海师范大学2003年中国近代史真题;湖南师范大学2016年中国史综合真题
列宁在()报告中论证了在俄国实现和平过渡的可能性和必要性。
标志着整风运动开始向反“右派”斗争转变的重要文件是()。
对三国鼎立局面的形成起到关键性作用的战役是()。
在操作系统中,P,V操作是一种()。
假定在一个处理机上执行的操作如下:作业估计服务时间片优先数A103B11C23D14E52这些
已知4位有效信息为1010,试根据下列要求进行编码。(1)按配偶原则将其编码为扩展的海明码,要求能发现两位错并纠正一位错。(2)将其编码为循环冗余校验码,生成多项式G(x)=1011。
某计算机系统的内存储器由Cache和主存构成,Cache的存取周期为45纳秒,主存的存取周期为200纳秒。已知在一段给定的时间内,CPU共访问内存4500次,其中340次访问主存。问:(1)Cache的命中率是多少?(2)CPU访问内存的平均
随机试题
孔隙度与渗透率是储集层岩石的两个(),它们之间没有严格的函数关系。
药物配伍的目的
关于牙周病的促进因素,下面说法不正确的是
依我国现行法的规定,不属于破产财产的有()。
上市公司的下列行为中,违背会计核算一贯性原则的有( )。
荒漠化治理是世界性难题。有专家根据部分地区的成功经验提出,对于人力治理效果不佳的地区,可以采用“人退”的方法,创造条件让自然界自我修复,实现“沙退”的目的。这种治理荒漠化的新思路体现的哲学道理是()①正确发挥主观能动性要以尊重和认识客观规律为前提
教师职业道德修养是社会对教师职业道德的要求。()
事业单位制定不同类型的岗位聘用条件,主要根据岗位的()确定。
昆它布
下列四条叙述中,正确的一条是()。
最新回复
(
0
)