首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
admin
2019-08-01
65
问题
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
选项
答案
表达式中的括号有以下三对:’(’、’)’、’[‘、’]’、’{’、’}’,使用栈,当为左括号时入栈,右括号时,若栈顶是其对应的左括号,则退栈,若不是其对应的左括号,则结论为括号不配对。当表达式结束,若栈为空,则结论表达式括号配对;否则,结论表达式括号不配对。 int Match(LinkedList 1a){ //算术表达式存储在以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)!=’(’){ pfintf(”括号不配对\n”);return(0); } else pop(S); break; 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(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/bVCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述第二次世界大战中各主要战场战略性转折的时间及其代表性战役。
世界上第一个工农苏维埃政府成立后采取的()措施最能反映当时俄国人民的迫切愿望
科学社会主义产生的直接思想来源是()。
日本法西斯与德国法西斯相比,突出的特点是()
对斯大林时期形成的高度集中的社会主义经济政治体制的叙述,不确切的是()。
以下()协议完成了从网卡到IP地址的映射。
在一个HDLC帧的数据中,如果出现了000111111011这样的流,请问发送到信道上它将会变成()。
若某浮点机基数为4,尾数采用补码表示,则该浮点机的规格化尾数形式为()。
若二叉树的前序序列为DABCEFG,中序序列为BACDFGE,则其层次序列为()。
随机试题
按照在特定群体中的相对位置决定成绩好坏的测验是()
某企业根据特定招投标项目成立了项目组,组长由公司委派,成员来自于企业的研发、采购、质检等各职能部门。该项目组的组织结构属于【】
在社会主义市场经济中()
首先考虑的诊断为首选检查方法为
长期微热,烦劳则甚或伴见少气乏力等症状为特点的是()
吊装、运输、使用乙炔和氧气钢瓶时要防止(),不准使用电磁吸盘链绳吊装。
在下列( )情形下,人民法院应裁定终结执行。
小吴到商店买布。有两种同样长的布料,小吴买了第一种布料25米,买了第二种布料12米。小吴买完后,第一种布料剩下的长度是第二种布料剩下的长度的一半。那么这两种布料原来共有()米。
MeinKollegehatsichsehrgeaergert,dasserauchamSonnabendarbeitensoll,____jederverstehenwird.
______thereisapalacesituatedonthetipofoldConstantinople?______,______TheHagiaSophiawasconvertedintoamosquei
最新回复
(
0
)