首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
admin
2019-08-01
57
问题
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域: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
学硕统考专业
相关试题推荐
下列人民起义不是发生在阿拔斯王朝时期的是()。
对阿拉伯半岛的统一起了促进作用的宗教是()。
魏晋南北朝时期,社会经济特点与前一历史阶段的明显不同之处是()。
下列法律文件中,规定内阁对君主负责的是()。
从“鲁尔危机”的发生到《道威斯计划》的实施,西方国际关系变化对当时有关国家的影响是()。①美国势力进一步向欧洲渗透②英国达到了限制法国、保持均势的目的③德国获得重建经济的有利时机④法国扩充实力争霸欧洲的计划遭
格拉古兄弟改革
(1)根据无类IP地址的规则,每个网段中有两个地址是不分配的:主机号全0表示网络地址,主机号全1表示广播地址。因此8位主机号所能表示的主机数就是28-2,即254台。该网络要划分为两个子网,每个子网要120台主机,因此主机位数X应该满足下面三个条件:
下列各种情况中,应采用异步通信方式的是()。
某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间
试比较脱机I//O和联机I/O。
随机试题
A、Becausesheisfondofnewinventions.B、Becausesheiskeenontechnologyandcommunication.C、Becausesheisinterestedinp
需求的两种主要估计方法是()
关于砌筑砂浆的说法,正确的是()。
下列说法中,()是正确的。
保险合同发生纠纷后的解决方式主要包括()。
对被收容教养的未成年人应坚持()的原则。
改革开放以来,文学创作成就不菲,但缺乏________、影响深远的力作。今天的文坛不能说不繁荣,然而繁荣也________不住其中的“虚荣”成分——虚假的繁荣。填入画横线部分最恰当的一项是:
心包腔内出现浆液性、出血性渗出物或纤维素性、出血性渗出物,见于
下列关于管理信息系统的叙述中不正确的是()。
RiseinNumberofCancerSurvivorsCanceristhesecondleadingcauseofdeathintheUnitedStates,afterheartdisease.I
最新回复
(
0
)