首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
admin
2019-01-16
90
问题
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
选项
答案
表达式中的括号有以下三对:’(’、’)’、’[’、’]’、’{’、’}’,使用栈,当为左括号时入栈,右括号时,若栈顶是其对应的左括号,则退栈,若不是其对应的左括号,则结论为括号不配对。当表达式结束,若栈为空,则结论表达式括号配对;否则,结论表达式括号不配对。 int Match(LinkedList la){ //算术表达式存储在以la为头结点的单循环链表中,本算法判断括号是否正确配对 char S[]; //s为字符栈,容量足够大 P=la一>link; //p为工作指针,指向待处理结点 Stack Init(S); //初始化栈s while(P!=la){ //循环到头结点为止 switch(p->ch){ case’(’:push(s,p->ch);break; case’)’:if(StackEmpty(s)||StackGetTop(s)!=’(’){ printf(”括号不配对\n”);return(0): } else pop(S): break; case’[’:push(s,p一>ch);break; case’[’:if(StaekEmpty(s)Il StackGetTop(s)!=’[’){ printf(”括号不配对\n”);return(0); } else pop(S); break; case’{’:push(s,p->ch);break; case’}’:if(StackEmpty(s)II StackGetTop(s)!=’{’){ printf(”括号不配对\n”);return(0); } else pop(s): break; }P=p->link;//后移指针 }//while if(StackEmpty(s))f printf("括号配对\n");return(1); } else{printf(”括号不配对\n”);return(0); } }
解析
转载请注明原文地址:https://kaotiyun.com/show/blRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
“改土归流”政策的根本目的是()。
建立帝国财政收支总账和元首金库,直接控制和调节全国财政收支的是()。
决定把苏联由农业国变成工业国的主要目的是()
第二次世界大战后,世界形势变化的最大特点是()。
文艺复兴运动兴起的时间是()。
宋代至清代我国书籍印刷的主要方式是()
中国第一条自行设计修建的铁路是在()。
设某计算机系统有一块CPU、一台输入设备、一台打印机。现有两个进程同时进入就绪状态,且进程A先得到CPU运行,进程B后运行。进程A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms,结束。进程B的运行轨迹为:计算50
某中央处理器的数据通路如图所示。MDR为内存数据寄存器,PC为程序计数器,IR为指令寄存器。所有的单线箭头为控制微命令。(1)请说明图中部件X的名称和功能、寄存器Y的名称和功能。(2)请解释:为什么要设置T暂存器?(3)假定指
假设在一台单处理机上执行如下表所示的进程,且假定这些进程在时刻0以1,2,3,4,5的顺序创建。时间单位为时间片,优先级以数值大者为优。(1)请说明分别使用FCFS、RR(时间片=1)、SPF以及非抢夺式优先级调度算法时,这些进程的执行
随机试题
设函数f(x)在[0,a]上连续,且f(x)+f(a―x)≠0,x∈[0,a],则
简述邻联甲苯胺比色法测定余氯的步骤。
临床诊疗的道德原则不包括
期货合同纠纷案件中,当事人在合同中所约定的()的违约责任承担方式无效。
资料一威远公司早期是C国一家IT金融服务企业。最近几年,由于IT金融行业的竞争愈演愈烈,威远公司在IT金融服务业中的利润空间不断收窄,面临着很大的压力。2010年,威远公司总经理王涛开始为公司寻找转型的出路。一次他到国外旅游,在下榻的酒店中
锲而舍之,朽木不折;锲而不舍,________________。(荀子《劝学》)
()是唯一一位同时获得普利策奖和诺贝尔文学奖的作家。
决定社会必要劳动时间的因素有()。
积分=___________.
PASSAGEONEWhatkindofcustomerswouldeatattherestaurantontheoppositesideofthestreet?
最新回复
(
0
)