首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法
admin
2019-08-01
60
问题
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组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://www.kaotiyun.com/show/okCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
东欧剧变的根本原因是()。
试述清末新政的内容及其影响。
明清时期专制主义空前加强,据此回答问题:以下关于明朝“废行省、设三司”的措施评价最正确的是()
巴黎和会上,英美主张把原德国在山东的权利转让给日本,华盛顿会议又表示支持中国让日本归还山东的要求,英美态度发生变化的根本原因是()。
以下()协议完成了从网卡到IP地址的映射。
在集中式总线仲裁中,()方式响应时间最快。
已知某CPU有16根地址线、8根数据线,并用MREQ作为访存控制信号(低电平有效)。现有下列存储芯片:1K×4位ROM、2K×4位ROM、4K×8位ROM、4K×8位RAM、8K×4位RAM、8K×8位RAM和非门、与非门、或非门若干,如下图所
下列几种排序方法中,要求内存量最大的是()。
拿内存加上外存容量之和与虚拟存储空间相比,其大小关系是()。
在某个操作系统中,通过大量的实验,人们观察到在两次缺页中断之间执行的指令数与分配给程序的页框数成正比,即可用内存加倍,缺页中断的平均间隔也加倍。整体缺页次数减少约一半。假设一条普通指令需要100ns,但若发生了缺页中断就需要1ms。一个程序运行了60s,期
随机试题
近年来,志愿者运动________,说明我国经济获得长足发展之后,有了推行志愿者运动的________。尽管初始稚步,但既然开始了,且方向正确,总会逐渐成熟。填入画横线部分最恰当的一项是:
重型再生障碍性贫血-Ⅰ型的的诊断中,血象应具备()
O2对呼吸的调节途径主要是通过
热秘的特征为
(2007年)饱水岩土在重力作用下,通过2~3d释水后,空隙中尚能保持的水分为()。
铸造厂房布局方向宜()向。
城市土地技术经济条件的评价主要包括()。①区域经济条件;②交通运输条件;③用水条件;④供电条件,⑤用地条件
机床的技术经济指标有工:艺的可能性、加工精度和表面粗糙度、生产率、()和机床的寿命。
A、I’llstayathome.B、Agoodidea.C、No,Iwon’tgothere.A
TheCambridgeUniversityistheplace______.Asarule,whencanyougotoexperiencetheatmosphereandseethefacilitiesin
最新回复
(
0
)