首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法
admin
2019-08-01
25
问题
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
(1)算法的基本思想:判断表达式中括号是否匹配,可通过栈,简单说是左括号时进栈,右括号时退栈。退栈时,若栈顶元素是左括号,则新读入的右括号与栈顶左括号就可消去。如此下去,输入表达式结束时,栈为空则正确,否则括号不匹配。 在读入表达式结束符’#’时,栈中若只剩’#’,表示括号全部配对成功;否则表示括号不匹配。另外,由于本题只是检查括号是否匹配,故对从表达式中读入的不是括号的那些字符,一律未作处理。因假设栈容量足够大,因此入栈时未判断溢出。 (2)算法的设计如下: int exyx(char E[],int n){ //判断表达式中圆括号是否匹配 char s[30]; //s是一维数组,容量足够大,用作存放括号的栈 int top=0; //top用作栈顶指针 s[top]=’#’; //’#’先入栈,用于和表达式结束符号’#’匹配 int i=0; //字符数组E的工作指针 while(E[i]!=’#’) //逐字符处理字符表达式的数组 switch(E[i]){ case’(’:s[++top]=’(’;i++;break; case’)’:if(s[top]==’(’){top一一;i++;break;} else{printf(”括号不配对”);exit(0);} case’#’:if(s[top]==’#’){printf(”括号配对\n”);return(1):} else{printf(”括号不配对\n”);return(0);}//括号不配对 default:i++; //读入其他字符,不作处理 } }
解析
转载请注明原文地址:https://kaotiyun.com/show/okCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
清廷实行厘金制度的时间是()。
列宁在()报告中论证了在俄国实现和平过渡的可能性和必要性。
苏联实行新经济政策和美国推行罗斯福新政的相似点是()。①面临极为困难的经济形势②国家颁布政策法令强制干预经济③最主要内容是调整和复兴工业④通过发展商品生产来恢复农业
1890-1906,美南部各州纷纷制定法律或修改州宪法,对公民选举资格进行限定,部分州采用祖父条款,规定内战前有投票格的人,其后代不受新投票规则限制,但该条款被联邦最高法院否定,表明当时美国:
1947年,刘邓大军千里跃进大别山,揭开了战略反攻的序幕。据此回答问题:之所以把中原地区作为反攻的方向,主要是由于该地区()
东汉末期的农民起义出现的新特点是()。
隋唐五代时期是中国古代商品经济发展史上的一个重要阶段,种类多,交换规模大,交换方式多。试回答问题:下列关于隋唐钱币的表述,不正确的是()
将要相互通信双方怎样进行建立TCP连接?在TCP报文段的首部中只有端口号而没有IP地址,当TCP将其报文段交给IP层时,IP协议怎样知道目的IP地址呢?为什么把IP地址又称为“虚拟地址”,把TCP连接说成是“虚连接”?假设在建立连接时使用2次握手而非3次握
对于下图G,按下列条件试分别写出从顶点0出发按深度优先搜索遍历得到的顶点序列和按广度优先搜索遍历得到的顶点序列。(1)假定它们均采用邻接矩阵表示;(2)假定它们均采用邻接表表示,并且假定每个顶点邻接表中的结点是按顶点序号从大到小的次序链
“乘法减少”和“加法增大”备用在什么情况下?
随机试题
A、Theyareacouple.B、Theyareschoolmates.C、Theyaredoctorandnurseinahospital.D、Theyarebossandsecretaryinacompa
A.15.0%B.12.0%C.9.0%D.10.0%E.16.0%《中国药典》中规定浓缩蜜丸的含水量不得超过
《行政处罚法》中明确规定,行政处罚的一般程序包括()。
将市场部王少华的事假天数修改为1天,并重新计算“管理人员工资表”数据。
阅读《丑小鸭》的教学实录片段,回答问题。师:相信“丑小鸭变成美丽的白天鹅”这个故事大家都不陌生,但是老师希望今天大家能够再发散思维想一想,从这个故事中你们都能得到什么样的启发呢?生:要相信自己,不要妄自菲薄,就像丑小鸭完全没有必要觉得自
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性。
“上联:八百里洞庭凭岳阳壮阔;下联:两千年赤壁览黄鹤风流。”这一对联表示的省区分别是()。
高级神经活动类型学说认为描述神经活动的维度包括
软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是
MissLiudoesn’tmind______yourhomeworkaslongasitisdonebyyourself.
最新回复
(
0
)