首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,’#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Ja
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,’#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Ja
admin
2018-08-12
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; ease‘)’:if(s[top]:=‘(’){top一一;i++;break;} else{printf(”括号不配对”);exit(0);} ease‘#’:if(s[top]==‘#’){printf(“括号配对\n”);return(1);} else{printf(“括号不配对\n”);return(0);}//括号不配对 default:i++; //读入其他字符,不作处理 } }
解析
转载请注明原文地址:https://kaotiyun.com/show/d5Ri777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
关于德国工业革命,说法不正确的是()。
在1959年中共中央召开的庐山会议上遭到错误批判的是()。
开皇三年,隋文帝下令州县官吏根据户籍簿上登记的年龄,来核对本人体貌,以防诈老诈小逃避租役,是为()。
下列关于1929~1933年经济危机的描述,错误的有()。
阅读材料,回答问题:材料一:战后美国对一些新兴工业部门、重大科研项目、现代化公共设施等投入大量资金,如美国时发展原子能工业的投资,从1945年到1970年共计达175亿美元。美国还通过国家力量来扩张国外市场,从50年代中期起,为加强国际市场的竞争力,政府
“二战期间,美国研制了原子弹并用于实践;1946年美国投入的第一台电子计算机最初是用于计算炮弹弹道;德国人研制成功的远程液体火箭是用于空袭英国的。”以上史实说明()。
东晋南朝,经济发展,促进文化繁荣,这一时期,从南方兴起的文化现象?
下图是某模型机CPU的组成框图。设该CPU采用同步控制逻辑,分取指周期、取第一操作数周期,取第二操作数周期、执行周期四个机器周期,每个机器周期有T0、T1、T2三个节拍。试写出如下双操作数运算指令的微操作命令及节拍安排。ADDR0,(R1)完成功
给定序列{3,5,7,9,11,13,15,17),(1)按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成后的二叉排序树,并求在等概率情况下查找成功的平均查找长度。(2)按表中元素的顺序构造一棵平衡二叉树,并求其在等概率情
快速排序算法中,如何选取一个界值(又称为轴元素),影响着快速排序的效率,而且界值也并不一定是被排序序列中的一个元素。例如,我们可以用被排序序列中所有元素的平均值作为界值。编写算法实现以平均值为界值的快速排序方法。
随机试题
驾驶机动车向左变更车道遇到这种情况要注意让行。
阅读下列案例,并回答问题。王老师是一位胖胖的数学老师。有一次在讲完厘米、分米和米的概念后,马上让学生们测量桌子、铅笔、书本和手臂的长度。班上顿时炸开了锅,一只只胳膊高举着要求测量。被点名的同学经过测量报出答案后,都得到了表扬,嘴巴笑成了一朵
某患者,缺失,锤造固定桥修复,基牙。口内试冠时,发现锤造冠就位困难,锤造冠翘动从美观及强度考虑,锤造桥体时,下列哪项是正确的
A.细数脉B.无脉C.交替脉D.水冲脉E.奇脉主动脉瓣关闭不全患者的脉搏是()。
背景资料:某工程在正式开工前,首先应对施工图进行会审。图纸会审前,各方先进行了内部预审,设计单位首先进行了设计交底,各单位相关人员分组进行图纸会审,图纸会审记录由专人负责协调整理。根据背景回答问题。技术交底是在单位工程或分部、分项工程施工过程中,对参与
下列结算方式中,只能用于同一票据交换区域结算的是()。
在产品生命周期的不同阶段,产品的市场占有率、盈利情况等都是不一样的,银行有必要在信贷产品不同的生命周期阶段采取不同的营销策略。()
设某系统采用可抢占的优先级进程调度算法,系统在某一段时间内有A、B、C三个进程,进程C优先级最高,进程A优先级最低,进程B优先级介于进程A、c之间,它们的就绪时刻、计算与I/O所需时间如下表所示:采用多道方式运行比采用单道方式运行可节省多少时间?
简述当前我国学制发展的主要目标。
Therehasbeena_____lackofcommunicationbetweentheunionandthemanagement.
最新回复
(
0
)