首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法
admin
2019-08-01
54
问题
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组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
学硕统考专业
相关试题推荐
1922年2月,美、英、法、意、日五国通过了《五国海军条约》,规定了各国海军主力舰和航空母舰的限额,以及在东亚设置海军基地的要求等内容。该条约的缔结表明()
下列选项中,不属于“文革”中对“左”倾错误进行纠正的是()
巴黎和会上,英美主张把原德国在山东的权利转让给日本,华盛顿会议又表示支持中国让日本归还山东的要求,英美态度发生变化的根本原因是()。
毛泽东参与重庆谈判的主要目的是()。
利玛窦与徐光启合作翻译的(),介绍了曾经流行于欧洲的欧几里得平面几何的系统理论,大大地丰富了中国古代几何学的内容。
达芬奇、米开朗基罗、拉斐尔称为“文艺复兴三杰",与启蒙思想家相比,他们
最早以立法形式巩固大化改新成果的法令是()。
下列不是空想社会主义产生的历史背景的是()。
某计算机有8个主设备需要竞争总线的使用权,其设备号为0~7。现欲设计其判优控制方法,试回答下述问题。(1)集中式总线判优控制与分布式总线判优控制的区别是什么?(2)若采用集中式判优控制,则在链式查询、计数器定时查询和独立请求三种方式下,
在集中式总线仲裁中,()方式响应时间最快。
随机试题
开发基于MVC体系结构的JavaWeb应用程序是,负责实际的数据处理(如数据库连接、请求数据库和实现业务逻辑)的组件为()
判断该儿应为该患儿如出现黄疸,可持续多久消退
关于药物制成混悬剂的条件的正确表述有
自动人行道按结构形式可分为()。
正保公司对上述事项的会计处理中,需要调整报告年度“应交税费——应交所得税”项目的事项是( )。因上述差错更正,对正保公司所有者权益变动表本年金额栏目中的“未分配利润”项目调整金额为( )万元。
2019年4月,位于某市某镇某村的村委会经镇政府同意,在本村荒山开办一采矿场,随后承包给了村民沈某、孔某经营。因二人不交纳第二年的承包费,村委会在请镇政府出面协调未果的情况下,请该县矿产局进行干预。县矿产局调查后认为,该采矿场未依法办理采矿许可证,村委会不
2×17年,甲公司发生的有关交易或事项如下:(1)购入商品应付乙公司账款2000万元,以库存商品偿付该欠款的20%,其余以银行存款支付;(2)以持有的公允价值为2500万元的对子公司(丙公司)投资换取公允价值为2400万元的丁公司25%股权,补价100万元
在小湾村,绝大多数中老年村民都已经参加新型农村社会养老保险,所有买了小汽车的村民都购买了商业保险,而所有参加了新型农村社会养老保险的村民都没有购买商业保险。如果上述表述为真,以下关于该村村民的推断肯定为真的是()。(1)有些中老年村民买了小汽
ThisweektheNewCommissionontheSkillsoftheAmericanWorkforcereleasesablueprintforrethinkingAmericaneducationtob
开发大型软件时,产生困难的根本原因是
最新回复
(
0
)