首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法
admin
2019-08-01
34
问题
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组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
学硕统考专业
相关试题推荐
简述中华人民共和国成立初期稳定市场物价的措施。
晋察冀抗日根据地
在欧美资产阶级革命时代,最能体现出资产阶级革命要求的文献是()。
下列对1918年德国十一月革命说法不正确的是()。
【井冈山革命根据地】
论述雅典和罗马通过对外扩张成为帝国的过程,并分析雅典帝国短暂而罗马帝国长久的原因。
书院制度,始于唐而盛于宋,根据所学知识。回答问题:南宋书院的复起,是由朱熹开始的。他重建白鹿洞书院,亲自到书院讲学,还亲手制定()
IP数据报的报文格式如下图所示。在没有选项和填充的情况下,报头长度域的值为()。
既考虑作业等待时间又考虑作业执行时间的调度算法是()。
下列叙述正确的个数是()。 1)向二叉排序树中插入一个结点,所需比较的次数可能大于此二叉排序树的高度。2)对B-树中任一非叶子结点中的某关键字K,比K小的最大关键字和比K大的最小关键字一定都在叶子结点中。3)所谓平衡二叉树是指左、右
随机试题
钩端螺旋体病眼部表现特点是
军团菌感染后,下列标本中不易分离培养出菌体的是
维生素D缺乏病时由骨样组织增生所致的骨骼改变为
企业出售固定资产应交的营业税,应列入利润表的“营业税金及附加”项目。()
法的历史类型是依据法的传统和外部表现形式的不同,对古往今来的法律所作的分类。 ( )
下列给定程序中函数fun的功能是:删除s所指字符中所有的小写字母c。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>voi
TheHistoryoftheFridge1Thefridgeisconsideredanecessity.Ithasbeensosincethe1960swhenpackagedfoodfirstap
TherecentsocialandeconomicchangesintheU.S.havegreatimpactonalltheAmericanhousingsystem.
Whichofthefollowingisatypicaltonelanguage?
PASSAGETHREEWhatdoestheterm"suchchurn"referto?
最新回复
(
0
)