首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,’#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Ja
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,’#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Ja
admin
2018-08-12
51
问题
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组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
学硕统考专业
相关试题推荐
近代中国第一个系统介绍西方思想与文化名著的翻译家和启蒙思想家是()。
建立帝国财政收支总账和元首金库,直接控制和调节全国财政收支的是()。
“两个凡是”
阅读材料,回答以下问题:重庆中央党部,暨中央执监委员诸同志均鉴:今年4月,临时全国代表大会宣言,说明此次抗战之原因,曰:“自塘沽协定以来,吾人所以忍辱负重与倭国周旋,无非欲停止军事行动,采用和平方法,先谋北方各省之保全,再进而谋东北四省问题之合理解决,
“二战期间,美国研制了原子弹并用于实践;1946年美国投入的第一台电子计算机最初是用于计算炮弹弹道;德国人研制成功的远程液体火箭是用于空袭英国的。”以上史实说明()。
下列哪两个国家是第二次工业革命的发源地和“中心”?
以数组Data[m+1]作为循环队列SQ的存储空间,front为头指针,rear为队尾指针,则执行出队操作的语句是()。
设一段正文由字符集{A,B,C,D,E,F)中的字母组成,这6个字母在正文中出现的次数分别为{12,18,26,6,4,34)。(1)为这6个编码设计哈夫曼编码。(2)设每个字节由8位二进制位组成,试计算按哈夫曼编码压缩存储这段正文共需多少个字
已知加权有向图G如下,回答下列问题:(1)画出该有向图G的邻接矩阵;(2)试利用Dijkstra算法求G中从顶点a到其他各顶点间的最短路径,并给出求解过程。
随机试题
出版工作的文化性,体现在()等方面。
维生素A含量丰富的食物是
A.冲击触诊法B.双手触诊法C.深部滑行触诊法D.浅部触诊法E.间接叩诊法大量腹水检查用
成人的主要造血器官是()。
某施工单位承接了一条二级公路的隧道施工项目,该隧道主要穿越砂层泥岩和砂岩,岩层节理、裂隙发育,富含裂隙水。隧道全长800m,设计净高5m,净宽12m,为单洞双向行驶的两车道隧道。施工单位针对该项目编制了专项施工方案,其中包括工程概况、编制依据、劳动力计划
下列各项中属于资金退出的是()。
证券公司代销金融产品,代销的金融产品具有()特征的,证券公司应当以简明、易懂的文字,向客户作出有针对性的书面说明,同时详细披露金融产品的风险特征与客户风险承受能力的匹配情况,并要求客户签字确认。I.流动性较低的Ⅱ.透明度较低的
措施项目是指为完成工程项目施工、发生于该工程施工准备和施工过程中的()项目。
按照房地产()细分,可把房地产市场分为房地产一级市场、房地产二级市场和房地产三级市场。
强权政治
最新回复
(
0
)