首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法
admin
2017-01-04
63
问题
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
(1)算法的基本思想:判断表达式中括号是否匹配,可通过栈,简单说是左括号时进栈,右括号时退栈。退栈时,若栈顶元素是左括号,则新读入的右括号与栈顶左括号就可消去。如此下去,输入表达式结束时,栈为空则正确,否则括号不匹配。 在读入表达式结束符’#’时,栈中若只剩’#’.,表示括号全部配对成功:否则表示括号不匹配。另外,由于本题只是检查括号是否匹配,故对从表达式中读入的不是括号的那些字符,一律未作处理。因假设栈容量足够大,因此入栈时未判断溢出。 (2)算法的设计如下: int exyx(char E[],int n){ //判断表达式中圆括号是否匹配 char s[30]; /Is是一维数组,容量足够大,用作存放括号的栈 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]==’#’){prinff(”括号配对\n”);return(1);} else{prinff(”括号不配对\n”);return(0);}//括号不配对 default:i++; //读入其他字符,不作处理 } }
解析
转载请注明原文地址:https://kaotiyun.com/show/sLRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
分析商代的阶级关系。
评析郑和下西洋的历史条件和意义。
二月革命后,俄国为什么会出现两个政权并存的局面?
春秋初年,首先利用“挟天子以令诸侯”的旗号发展自己势力的是()国。
最早以立法形式巩固大化改新成果的法令是()。
1956年,苏共二十大后,匈牙利大党员和群众强烈要求克服个人崇拜,扩大民主,实行经济改革,一些由知识分子、大学生和干部组成的社团组织纷纷成立,其中最有影响者是()。
拉美独立后,各国政治上的一种普遍现象是(),实质上它是拉美各国大地主专政的一种特殊形式。
1890-1906,美南部各州纷纷制定法律或修改州宪法,对公民选举资格进行限定,部分州采用祖父条款,规定内战前有投票格的人,其后代不受新投票规则限制,但该条款被联邦最高法院否定,表明当时美国:
下列叙述正确的个数是()。 1)向二叉排序树中插入一个结点,所需比较的次数可能大于此二叉排序树的高度。2)对B-树中任一非叶子结点中的某关键字K,比K小的最大关键字和比K大的最小关键字一定都在叶子结点中。3)所谓平衡二叉树是指左、右
给定序列{3,5,7,9,11,13,15,17),(1)按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成后的二叉排序树,并求在等概率情况下查找成功的平均查找长度。(2)按表中元素的顺序构造一棵平衡二叉树,并求其在等概率情
随机试题
下列有关人体对热的生理反应中错误的是
A.亚硫酸氢钠B.苯甲酸钠C.葡萄糖D.枸橼酸钠E.三氯叔丁醇可作为注射剂的抗氧化剂的是
(2010年)下列各化合物结构式不正确的是()。
下列关于质量风险导致损失的表述中,正确的是( )。
根据以下资料,回答下列问题:“几十顶大盖帽管着一个破草帽”,这是长期以来我国行政执法体制的现状。在城市管理方面,野蛮执法和暴力抗法的矛盾尤为尖锐。自2011年年底国务院法制办开展相对集中行政处罚权试点以来,“几十顶大盖帽变一顶”在各地陆续推行。
没有人再怀疑人类已经进入信息时代。在这样史无前例的成就中,新的危机却悄悄萌发了。美国思想家梭罗曾说过:“我们热切地挖掘了大西洋隧道,期望新旧大陆更为密切地接近,实际上传来的最新消息不过是阿德莱亲王打了个哈欠。”危险正是在这里。这段文字中所说的“危
以下关于边际效用递减规律的阐述正确的是()。
Folktoysarethosewhosedesignshavepasseddownthroughthegenerations,madebyhandandnotinfactories.【C1】______manufact
Studiesalonecanconductustothatenjoymentwhichisbestinqualityandinfiniteinquantity.
Ifyouare【B1】______atafancyplace,youmightfindamintorsomelittlecandiesonyourpillow.Thesearefreeandnice.Som
最新回复
(
0
)