首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
admin
2019-01-16
111
问题
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域: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://kaotiyun.com/show/blRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
王艮创立的()是中国封建社会后期的第一个启蒙学派,其从者大都致力于封建道德的普及宣传工作。
简述希波战争过程及其意义。
下列哪个文件标志着“文化大革命”的发起?()
袁世凯在控制自己权力,实现对全国控制的过程中,主要颁布的法律不包括()。
汉灵帝熹平四年(175),学者用隶书写成五经,镌刻成碑,立于太学,这就是《熹平石经》,这是我国最早的官方定本的经书,以下参与此次校对的学者有()。
第一次国共合作采取了共产党员以个人身份加入国民党的党内合作方式,最早提出这种方式的是()。
电子计算机的发展经过了:①电子数值积分计算机(ENIAC)②集成电路计算机③大规模集成电路汁算机④晶体管计算机⑤人工智能计算机其先后顺序是()。
我国历史上一次有周密计划、经过长期准备并利用宗教形式组织和发动的农民起义是()。
武则天时期,为了管理天山以北的广大区域而设立了()。
某一个计算机系统采用虚拟页式存储管理方式,当前在处理机上执行的某一个进程的页表如下所示,所有的数字均为十进制,每一项的起始编号是0,并且所有的地址均按字节计址,每页的大小为1024字节。(1)计算下列逻辑地址转换为物理地址,并说明为什么
随机试题
A、胃肠道反应B、低血糖C、耳毒性D、并发或加重感染E、胃肠道损害非甾体抗炎药最常见的不良反应是
Molish反应的试剂组成是
根据《疫苗流通和预防接种管理条例》,不属于第一类疫苗的是
面板堆石坝混凝土面板的养护方法包括()。
利用股票和无风险证券构成的组合可以复制欧式看涨期权的现金流,这种复制是一种静态复制技术。( )
中国青年报社会调查中心最近的调查结果显示,“89.1%的人感叹当今好老师不常有,66.7%的人感觉当下大学生不认真上课情况普遍”,《中国青年报》指出,当下“‘老师混课时,学生混学分’,是很多大学课堂上老师与学生心照不宣一起走过场的尴尬现实”。某校
制约课程目标的基本因素包括()
执行下列SQL语句后,第一条记录的内容是( )。SELECT姓名,外币名称,持有数量FROM外汇名,持有数;WHERE外汇名.外币代码=持有数.外币代码;AND持有数量>=10000;ORDERBY持有数量DESC,姓名将“外汇
Whatisthepurposeofthemeeting?
A、Maryhasgonetotheairport.B、Maryisready.C、Maryisnotready.D、Marywillfinishpackingsoon.C题目问的是男士的话是什么意思。女士问男士,玛丽有
最新回复
(
0
)