首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。 (1)下面所示的序列中哪些是合法的? A.IOIIOIOO B.IOOIOII
假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。 (1)下面所示的序列中哪些是合法的? A.IOIIOIOO B.IOOIOII
admin
2019-08-01
33
问题
假设以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(char A[]){ //判断字符数组A中的输入/输出序列是否是合法序列。如是,返回true, //否则返回false int i=0; //i为下标 int j=k=0; //j和k分别为I和字母0的个数 while(A[i]!=’\0’){ switch(A[i]){ case’I’:j++;break;//入栈次数增1 case’0’;k++;if(k>j){printf(”序列非法\n”);exit(0);} } i++i //不论A[i]是’I’或’0’,指针i均后移} if(j!=k){printf(”序列非法\n”);return(false);} else{printf(”序列合法\n”);return(true):} } } 提示:在入栈出栈序列(即由’I’和’0’组成的字符串)的任一位置,入栈次数(’I’的个数)都必须大于等于出栈次数(即’0’的个数),否则视作非法序列,立即给出信息,退出算法。整个序列(即读到字符数组中字符串的结束标记‘\0’),入栈次数必须等于出栈次数(题目中要求栈的初态和终态都为空),否则视为非法序列。
解析
转载请注明原文地址:https://kaotiyun.com/show/yNCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列哪一个不是罗马王政时代的管理机构?()
印度列国时代出现了16个国家,其中大部分是王国,只有少数的共和国。下列属于共和国的是()。
太平天国在1853年冬颁布的纲领性文件是()。
为了加强对地方的控制,唐太宗根据山川形势,把全国划分成10个(),经常派官员监察地方官吏。
下列有关俄国农奴制改革的表达,不正确的是()。
下列选项不是在《关于建国以来党的若干历史问题的决议》中提出的是()。
编写一个算法,实现以较高的效率从有序顺序表A中删除其值在x和y之间x≤A[i]≤y的所有元素。
著名的网络OSI七层模型是由()组织提出来的。
下面元件存取速度最快的是()。
试比较单播、组播和广播三种传输方式的区别。
随机试题
A.低钙血症B.低钾血症C.低蛋白血症D.低钠血症E.低镁血症
关于睾丸附睾的超声显示,错误的是
俗语说:“要想公道,打个颠倒。”这种观点反映的道德观是()
下列有关精子成熟不正确的是
A.α受体阻滞药B.β受体阻滞药C.钙拮抗药D.利尿药E.血管紧张素转化酶抑制药治疗高血压伴心力衰竭,应首选()
申请参加注册咨询工程师(投资)执业资格考试,要求获工程技术类或工程经济类专业第二学士学位或研究生班毕业后,从事工程咨询相关业务满()。
有关劳务分包的规定中正确的有()。
(2012)我国《中小学教师专业标准(试行)》制定的依据是()。
公安机关公文写作,文书处理和档案管理、组织会议、办理信访、协调工作关系是属于()。
某模块内涉及多个功能,这些功能必须以特定的次序执行,则该模块的内聚类型为()内聚。
最新回复
(
0
)