首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。 (1)下面所示的序列中哪些是合法的? A.IOIIOIOO B.IOOIO
假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。 (1)下面所示的序列中哪些是合法的? A.IOIIOIOO B.IOOIO
admin
2019-08-01
23
问题
假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。
(1)下面所示的序列中哪些是合法的?
A.IOIIOIOO B.IOOIOIIO C.IIIOIOIO D.IIIOOIOO
(2)通过对(1)的分析,写出一个算法,判定所给的操作序列是否合法。若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中)。
选项
答案
(1)A和D是合法序列,B和C是非法序列。 (2)设被判定的操作序列已存入一维数组A中。 int Judge(charA[]){ //判断字符数组A中的输入/输出序列是否是合法序列。如是,返回true, //否则返回false int i=0: //i为下标 int j=k=O; //j和k分别为I和字母O的个数 while(A[i]!=‘\0’){ switch(A[i]){ case‘I’:j++;break;//入栈次数增1 case‘O’;k++;if(k>j){printf(“序列非法\n”);exit(0);} } i++; //不论A[i]是‘I’或‘O’,指针i均后移} if(j!=k){prjntf(“序列非法\n”);return(false);} else{printf(“序列合法\n”);return(true);} } } 提示:在入栈出栈序列(即由‘I’和‘O’组成的字符串)的任一位置,入栈次数(‘I’的个数)都必须大于等于出栈次数(即‘O’的个数),否则视作非法序列,立即给出信息,退出算法。整个序列(即读到字符数组中字符串的结束标记‘\O’),入栈次数必须等于出栈次数(题目中要求栈的初态和终态都为空),否则视为非法序列。
解析
转载请注明原文地址:https://jikaoti.com/ti/XAGjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列各组古代民族,其语言都属于印欧语系的是()
()时,为补充兵力,开拓财源,“料民于太原”(今山西西南部)。料民就是清查民数,以便于征兵,结果引起奴隶和平民的反抗。这表明西周王朝已失去了对社会的控制力量。
德国农民战争过程中,颁布的具有资产阶级性质的革命纲领是()。
论述全球范围内南北差距和贫富分化的原因及历史影响。
为了顺利开展武装起义的准备工作,在彼得格勒苏维埃中成立了()。
1848年科学社会主义诞生的最主要的因素是()。
系统阐明社会主义初级阶段理论是在()。
在平衡二叉树中的每个结点上增设一个Lsize域,其值为它的左子树中的结点个数加1,试写一个时间复杂度为O(logn)的算法,确定树中第k个结点的位置。
下列描述中,属于冯.诺依曼体系结构的特点是()。①采用流水线技术;②指令和数据均以二进制表示;③存储程序并且存储时不区别数据和指令。
假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16384个磁盘块的空闲状态。如果将磁盘替换为随机访问的Flash半导体存储器(如u盘、SSD等),是否有比CSCAN更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明
随机试题
研究生刘某毕业论文《哲学本体论》出版,该书著作权应当属于()
男性,45岁,农民,左颈部淋巴结肿大,肝、脾未触及。X线胸片示纵隔增宽,腹部B超示肝脾不大,腹主动脉旁淋巴结不肿大。淋巴结病理检查:正常结构破坏,并发现R-S细胞。该患者最佳治疗方案应是
某护士,进入ICU工作3年来,基本上是一个人护理某个患者,患者需要的全部护理由她全面负责,实施个体化护理。下列对ICU重症患者的护理错误的是
投标人以联合体形式投标,投标人必须是()。
基本分析主要包括公司财务报表分析、公司产品与市场分析、公司证券投资价值及投资风险分析三个方面的内容。()
西方经济学家通常采用的“赤字债务化”的方法用于弥补()。
食品的保质期限应当从()开始算起。
个体主观能动性在人发展中所起的作用()。
通货紧缩
导致太平天国运动爆发的原因有()。
最新回复
(
0
)