首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
admin
2019-08-15
67
问题
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域: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)lI StackGetTop(s)!='('){ printf("括号不配对\n");return(0); } else pop(S); break; 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(StackEmpty(s)∣∣StackGetTop(s)!∣='{'){ printf("括号不配对\n");return(0); } else pop(S); break; }P=p一>link;//后移指针 }//while if(StackEmpty(s)){printf("括号配对\n");return(1); } else{printf("括号不配对\n");return(0); } } 提示:算法中对非括号的字符未加讨论。遇到右括号时,若栈空或栈顶元素不是其对应的左圆(方、花)括号,则结论括号不配对,退出运行。最后,若栈不空,结论仍是括号不配对。
解析
转载请注明原文地址:https://kaotiyun.com/show/VOCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
乾隆时期()明确规定了驻藏大臣监督办理西藏事务,地位与达赖、班禅相等,监督履行“金瓶掣签”等
设有m个连续单元供一个栈与队列使用,且栈与队列的实际占用单元数事先不知道,但是要求在任何时刻它们占用的单元数量不超过m,试写出上述栈与队列的插入算法。
指令系统字长16位,每个地址码为6位,采用扩展操作码的方式,试设计14条二地址指令,100条一地址指令,100条零地址指令。(1)画出操作码的扩展形式。(2)下图为指令译码逻辑图,其中只给出了二地址指令的译码逻辑,试补全一地址指令和零地址指令的
一个由高速缓冲存储器Cache与主存储器组成的二级存储系统。已知主存容量为1MB,按字节编址,缓存容量为32KB,采用组相联方式进行地址映射与变换,主存与缓存的每一块为64B,缓存共分8组。(1)写出主存与缓存的地址格式(标明各字段名称与位数)
在请求分页存储管理中,若采用FIFO的页面淘汰算法,当分配的页面数增加时,缺页中断的次数()。
给定序列{3,5,7,9,11,13,15,17),(1)按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成后的二叉排序树,并求在等概率情况下查找成功的平均查找长度。(2)按表中元素的顺序构造一棵平衡二叉树,并求其在等概率情
出现下列的情况可能导致死锁的是()。
设有一个带头结点的循环单链表,其结点值均为正整数。试设计一个算法,反复找出单链表中结点值最小的结点,并输出之,然后将该结点从中删除,直到单链表空为止,最后再删除表头结点。
设某多道程序系统中有用户使用内存1000M,打印机1台。系统采用可变分区动态分配算法管理内存,而对打印机采用静态分配。假设输入输出操作时间忽略不计,采用最短剩余时间优先的进程调度算法,进程最短剩余时间相同时采用先来先服务的算法,进程调度时机选择在进程执行结
随机试题
根据《风景名胜区条例》的规定,申请设立风景名胜区需要提交的材料内容不包括()
下列哪一项不属于基金管理人监事会业务监督的内容?()
没有惩罚的教育是不完整的教育。
效度
“厂”“卫”是明代的()。
计算机网络向用户提供的服务有多种类型。下而哪一种网络应用属于“消自服务”类型?()
在面向对象方法中,对象之间进行通信的构造称为______________。
一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是
数据库系统的三级模式不包括()。
Itis【C1】______spring,andallofusarethankfultoseetreesbloomingandbirds【C2】______tonestagain.Justaboutallof
最新回复
(
0
)