首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
admin
2019-08-01
52
问题
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域: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‘(’:pLish(s,p一>ch);break; case‘)’:if(StackEmpry(s)||StackGetTop(s)!=‘(’){ printf(”括号不配对\n”);return(0); } else pop(s); break; case‘[’:push(S,p->ch);break; case‘[’:if(StackEmpty(s)llStackGetTop(S)!=‘[’){ printf(“括号不配对\n”);retum(0); } else pop(s); break; case‘{’:push(s,p->ch); break; case‘}’:if(StackEmpty(s)||StackGetTop(S)!=‘{’){ printf(“括号不配对\n”);retum(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/ftCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
试述1946年政治协商会议的主要原因及意义。
中国政府第一次公开提出和平解决台湾问题的方针是在()。
永元四年(公元92年),汉和帝用宦官()掌握的一部分禁军,消灭了窦氏势力。郑众从此参与预政事,并受封为侯,这是宦官用权和封侯的开始。
二月革命后,为俄国无产阶级革命奠定思想基础的文献是()。
为了加强对地方的控制,唐太宗根据山川形势,把全国划分成10个(),经常派官员监察地方官吏。
二里头文化是我国考古史上的重大发现,具有重大的意义。根据所学知识,回答问题:二里头文化在类型上可以分为()
什么是域名解析?域名解析中采取了什么措施提高效率?对同一个域名向DNS服务器发出多次的DNS请求报文后,得到IP地址都不一样,可能吗?为什么?
在网络中计算机接收的信号是()。
假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16384个磁盘块的空闲状态。设某单面磁盘旋转速度为6000r/min,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁
试比较脱机I/O和联机I/O。
随机试题
下列哪类患者术后应早期起床活动()。
主动脉瓣关闭不全之反流与二尖瓣血流同为舒张期流向左室之血流,区别二者之最佳超声技术为
下列哪项检查结果不符合1TP
甲起诉与丈夫乙离婚,同时主张抚养小孩、分割房屋和存款。在诉讼过程中,双方当事人在法院主持下达成以下调解协议:解除婚姻关系、甲抚养小孩并分得房屋;乙分得存款及双方共同经营的杂货店;共同债务2000元由甲承担。下列哪些选项是错误的?(2007年试卷三第83题)
简述社会越轨的内涵及其类型。(武大2013年研)
有以下程序:#include<iostresm.h>voidmain(){intn;cin>>n;if(n++<10)cout<<n<<endl;else
Ifthemerchandisedoesnotarrive______Friday,pleaseinformthecustomerservicerepresentativeaboutthedelay.
Thelawrequiresthateveryone______hiscarcheckedatleastonceayear.
TheAmericanfarmershavealwaysbeenindependentandhard-working.Intheeighteenthcenturyfarmerswerequiteself-sufficien
【B1】【B20】
最新回复
(
0
)