首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
admin
2019-08-15
131
问题
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域: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)lI 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; 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://www.kaotiyun.com/show/VOCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列各项内容和王羲之的书法成就有关的是()。①开始把字体由隶书转化为楷书②书法代表作有《兰亭序》、《黄庭经》等③他博彩众长,世称“书圣”④其子王献之书法造诣也极高,父子合称“二王”
“两个凡是”
如下图所示为一个网络连接的示意图,主机1到主机2采用了SLIP网络连接,SLIP网络可以传输的最大数据段是296字节,主机2和主机3使用了以太网连接。请问:(1)为了使IP不分片,主机1可以在TCP包中承载多少数据?(2)主机3可以在TCP包中承载多
在4×100米接力赛中,4个运动员之间存在如下关系:运动员1跑到终点把接力棒交给运动员2;运动员2一开始处于等待状态,在接到运动员1传来的接力棒后才能往前跑,他跑完100米后交棒给运动员3;运动员3也只有接到运动员2传来的接力棒后才能往前跑,他跑完100米
若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。(1)先来先服务算法;(2)最短寻找时间
既考虑作业等待时间又考虑作业执行时间的调度算法是()。
下列几种排序方法中,要求内存量最大的是()。
如下图所示的AOE网,求:完成此工程最少需要多少天(设边上权值为天数)?
设有一个由正整数组成的无序(后向)单链表,编写能够完成下列功能的算法:(1)找出最小值结点,且打印该数值。(2)若该数值为奇数,则将其与直接后继结点的数值交换。(3)若该数值为偶数,则将其直接后继结点删除。
假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享卡H同的后缀存储空间。例如,“loading”和“being”的存储映像如下图所示。设str1和m2分别指向两个单词所在单链表的头结点,链表结点结构为请设计一个时间上尽可能高效的算法,找出
随机试题
简述中断服务器的组成
孙某是慢性胃炎患者,可以从膳食的角度开展营养治疗。慢性胃炎选择的食物类型为
患者,男,40岁,支气管哮喘20年,咳嗽伴气喘3天。查体:大汗,发绀,呼吸32次/分,两肺满布哮鸣音,心率128次/分,律齐,有奇脉,诊断应首先考虑
进口设备的交货方式中不包括()。
首次公开发行股票,应当通过向特定机构投资者询价的方式确定股票发行价格。询价包括()。
证券营业部的服务器故障包括分析软件故障。()
公文中兼用的基本表达方式是()。
有爱就有恨;有喜悦就有悲伤;有紧张就有轻松,说明情绪和情感()
在中国北部有这样两个村落,赵村所有的人都是在白天祭祀祖先,李庄所有的人都是在晚上才祭祀祖先,我们确信没有既在白天也在晚上祭祀祖先的人。我们也知道李明是晚上祭祀祖先的人。依据以上信息,能断定以下哪项是对李明身份的正确判断?
Whattimedoesthewomanoftengettoherofficeeverymorning?
最新回复
(
0
)