首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,’#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: 根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,’#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求: 根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
admin
2019-08-01
91
问题
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,’#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求:
根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法的设计如下: 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++; //读入其他字符,不作处理 f }
解析
转载请注明原文地址:https://www.kaotiyun.com/show/9jCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
对阿拉伯半岛的统一起了促进作用的宗教是()。
红山文化的代表性墓葬形式为()。
在华盛顿会议上,美英支持中国要求的意图是()
编写判定给定的二叉树是否是二叉排序树的函数。
真值0在原码、反码和补码机器数形式下()。
设计一个算法,求无向图G(采用邻接表存储)的连通分量个数。
编写一个算法,实现以较高的效率从有序顺序表A中删除其值在x和y之间x≤A[i]≤y的所有元素。
下列叙述正确的个数是()。 1)向二叉排序树中插入一个结点,所需比较的次数可能大于此二叉排序树的高度。2)对B-树中任一非叶子结点中的某关键字K,比K小的最大关键字和比K大的最小关键字一定都在叶子结点中。3)所谓平衡二叉树是指左、右
在二叉树的顺序存储中,每个结点的存储位置与其父结点、左右子树结点的位置都存在一个简单的映射关系,因此可与三叉链表对应。若某二叉树共有n个结点,采用三叉链表存储时,每个结点的数据域需要d个字节,每个指针域占用4个字节,若采用顺序存储,最后一个结点下标为k(起
设结点x和y是二叉树中任意的两个结点,在该二叉树的先序遍历序列中x在y之前,而在其后序遍历序列中x在y之后,则x和y的关系是()。
随机试题
下列哪种情况不是急性生殖器炎症后病变
限时精确度高的限时器是
图像后处理工作站不能进行的处理是
食管癌病理分型,以下哪项是不正确的
酮体是脂肪分解的产物,饥饿时可为脑组织提供能量来源。()
有限责任公司的组织机构包括()。
世界三大高香名茶是指()。
Thinkaboutyesterday’slunchandavarietyofdetailsmayleaptomind,eachofthememployingadifferentsectionofyourbrai
昨日、李さんとお酒を飲み()行きました。
Thoughthiscarismoreelegantinappearance,itsquality______thatlessfancyone.
最新回复
(
0
)