首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
admin
2019-01-16
77
问题
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域: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)||StackGetTop(s)!=’(’){ printf(”括号不配对\n”);return(0): } else pop(S): break; case’[’:push(s,p一>ch);break; case’[’:if(StaekEmpty(s)Il StackGetTop(s)!=’[’){ printf(”括号不配对\n”);return(0); } else pop(S); break; case’{’:push(s,p->ch);break; case’}’:if(StackEmpty(s)II StackGetTop(s)!=’{’){ printf(”括号不配对\n”);return(0); } else pop(s): break; }P=p->link;//后移指针 }//while if(StackEmpty(s))f printf("括号配对\n");return(1); } else{printf(”括号不配对\n”);return(0); } }
解析
转载请注明原文地址:https://jikaoti.com/ti/r3fjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述梭伦改革的主要内容和历史意义。
苏联实行的新经济政策与美国推行的罗斯福新政之间的相似之处是()。①面临极为困难的经济形势②最主要内容是调整和复兴工业③国家颁布法令强制干预经济④通过发展商品经济生产来恢复农业
论述齐国管仲改革的内容以及重要意义。
简述美、苏争霸的三个阶段及特点。
在下列哪个条约中,最先出现了片面最惠国待遇?()
16世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
格拉古兄弟改革
编写一个算法,实现以较高的效率从有序顺序表A中删除其值在x和y之间x≤A[i]≤y的所有元素。
某会议有n个参与者,等大家到齐后会议才能开始,利用P、V原语操作实现会议参与者进程。
若一个栈的输入序列为1,2,3…n,输出序列的第一个元素是i,则第j个输出元素是()。
随机试题
[背景资料]某施工单位承接了某高速公路A合同段的施工任务,其中包括8km的路基、路面工程和一座跨径80m的桥梁施工。该合同段土质以松散砂土和黏土为主,土质含水量为20%,路基施工中有大量土方需转运200~300m。施工前,项目部组织编写
乳房部疾病症见经前胀痛者为
先天性甲状腺功能低下分类为
某工程项目,建设单位与施工总承包单位按《建设工程施工合同(示范文本)》签订了施工承包合同,并委托某监理公司承担施工阶段的监理任务。施工总承包单位将桩基工程分包给一家专业施工单位。开工前:(1)总监理工程师组织监理人员熟悉设计文件时发现部分图纸设计不
下列关于石油化工企业的布置,说法不正确的是()。
下列关于公司股份分割说法正确的有()
对逾期贷款,银行分(支)行信贷部主管必须()开出催收贷款通知函,并同时发送担保单位签收。
In2010,afederaljudgeshookAmerica’sbiotechindustrytoitscore.CompanieshadwonpatentsforisolatedDNAfordecades—by
以下关于通用对话框的叙述中,错误的是()。
WhichstatementisNOTtrueaboutthenewroundofsix-nationtalks?
最新回复
(
0
)