首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
请利用两个栈s1和s2来模拟一个队列。已知栈的三个运算定义如下: (1)push(st,x):元素x入st栈; (2)pop(st,x):st栈顶元素出栈,赋给变量x; (3)sempty(st):判st栈是否为空。 那么如
请利用两个栈s1和s2来模拟一个队列。已知栈的三个运算定义如下: (1)push(st,x):元素x入st栈; (2)pop(st,x):st栈顶元素出栈,赋给变量x; (3)sempty(st):判st栈是否为空。 那么如
admin
2016-03-29
76
问题
请利用两个栈s1和s2来模拟一个队列。已知栈的三个运算定义如下:
(1)push(st,x):元素x入st栈;
(2)pop(st,x):st栈顶元素出栈,赋给变量x;
(3)sempty(st):判st栈是否为空。
那么如何利用栈的运算来实现该队列的三个运算:
(1)enqueue:插入一个元素入队列;
(2)dequeue:删除一个元素出队列;
(3)queue_empty:判队列为空。
(请写明算法的思想及必要的注释。)
选项
答案
栈的特点是后进先出,队列的特点是先进先出。所以,用两个栈sl和s2模拟一个队列时,s1作输入栈,逐个元素压栈,以此模拟队列元素的入队。当需要出队时,将栈s1退栈并逐个压入栈s2中,s1中最先入栈的元素,在s2中处于栈顶。s2退栈,相当于队列的出队,实现了先进先出。显然,只有栈s2为空且s1也为空,才算是队列空。 (1)int enqueue(stack sl,elemtp x){ //sl是容量为n的栈,栈中元素类型是elemtp。本算法将X入栈, //若入栈成功返回1,否则返回0 if(topl==n&&!sempty(s2)) //topl是栈s1的栈顶指针,是全局变量 {printf(”栈满”);return(0);} //sl满s2非空,这时sl不能再入栈 if(topl==n&&sempty(s2)) //若s2为空,先将sl退栈,元素再压栈到s2 {while(!sempty(s1)){pop(sl,x);push(s2,x);} push(sl,x):return(1); //x入栈,实现了队列元素的入队 } (2)void dequeue(stack s2,s1){ //s2是输出栈,本算法将s2栈项元素退栈,实现队列元素的出队 if(!sempty(s2)) //栈s2不空,则直接出队 {pop(s2,x);printf(”出队元素为”,x);} else //处理s2空栈 if(sempty(s1)){printf(”队列空”);exit(0);} //若输入栈也为空,则判定队空 else //先将栈s1倒入s2中,再作出队操作 {while(!sempty(s1)){pop(sl,X);push(s2,x);} pop(s2,x); //s2退栈相当于队列出队 printf(”出队元素”,x): } (3)int queue_empty(){ //本算法判用栈sI和s2模拟的队列是否为空 if(sempty(s1)&&sempty(s2))return(1); //队列空 else return(0); //队列不空 }
解析
转载请注明原文地址:https://kaotiyun.com/show/knRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
从“鲁尔危机”的发生到《道威斯计划》的实施,西方国际关系变化对当时有关国家的影响是()。①美国势力进一步向欧洲渗透②英国达到了限制法国、保持均势的目的③德国获得重建经济的有利时机④法国扩充实力争霸欧洲的计划遭重创
下列关于戈尔巴乔夫上台以后发生的事件,按时间先后顺序排列正确的是()。①苏联进行政治改革②苏联进行经济改革③八一九事件④苏联解体
简述弭兵之会的背景、过程和结果。
二战后主要资本主义国家经济恢复和发展的杠杆是()①政府采取宏观调控政策②发展国家垄断资本主义③充分利用科技成果④加强国际经济联系
20世纪30年代,法国政治上的斗争十分激烈,()在资产阶级右翼势力的进攻下失败了,但是它在法国现代史上的历史进步意义应该予以充分肯定。
建国初期的土地改革与解放战争时期的土改最主要的区别是()。
洪秀全以宗教手段组织起义,主要利用的是()。
“钟鸣鼎食”往往用来形容贵族生活。考古发现的青铜乐器“钟”始见于周代遗址,可能存在于()
在4×100米接力赛中,4个运动员之间存在如下关系:运动员1跑到终点把接力棒交给运动员2;运动员2一开始处于等待状态,在接到运动员1传来的接力棒后才能往前跑,他跑完100米后交棒给运动员3;运动员3也只有接到运动员2传来的接力棒后才能往前跑,他跑完100米
某计算机系统的内存储器由Cache和主存构成,Cache的存取周期为45纳秒,主存的存取周期为200纳秒。已知在一段给定的时间内,CPU共访问内存4500次,其中340次访问主存。问:(1)Cache的命中率是多少?(2)CPU访问内存的平均
随机试题
IfIcanhelp______,Idon’tlikeworkinglateintothenight.
A、颧弓的后续部分B、鳞鼓裂C、蝶骨嵴D、以薄骨板和颅中窝相隔E、关节结节颞下颌关节关节窝后界
经检验合格的进口汽车,由口岸检验检疫机构签发《入境货物检验检疫证明》,并一车一单签发《进口机动车辆随车检验单》;对进口汽车实施品质检验的,《入境货物检验检疫证明》须加附检验检疫证书。
根据《中华人民共和国商业银行法》的规定,商业银行流动性资产余额与流动性负债余额的比例不得低于()。
甲、乙订立书面合伙协议约定:甲以10万元出资,乙以劳务出资;乙执行合伙事务;合伙企业利润由甲、乙平均分配,亏损由乙承担。该合伙协议的约定符合合伙企业法的规定。()
壮族人民对歌、赛歌的盛大集会是()。
下列关于社会工作特点的说法,正确的是()。
有些基因在同一个生物个体的几乎所有细胞中持续表达,这类基因称为
Areyouthinkingabouttryingoutapoliticalcareerbutyour【C1】______arealittlelowforapresidentialbid?Youhaveuntil
【B1】【B9】
最新回复
(
0
)