首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
请利用两个栈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
2019-01-16
69
问题
请利用两个栈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:判队列为空。
(请写明算法的思想及必要的注释。)
选项
答案
栈的特点是后进先出,队列的特点是先进先出。所以,用两个栈s1和s2模拟一个队列时,s1作输入栈,逐个元素压栈,以此模拟队列元素的入队。当需要出队时,将栈s1退栈并逐个压入栈s2中,s1中最先入栈的元素,在s2中处于栈顶。s2退栈,相当于队列的出队,实现了先进先出。显然,只有栈s2为空且s1也为空,才算是队列空。 (1)int enqueue(stack S1,elemtp X){ //s1是容量为n的栈,栈中元素类型是elemtp。本算法将x入栈, //若入栈成功返回1,否则返回0 if(topl==n&&!sempty(s2)) //top1是栈s1的栈顶指针,是全局变量 {printf(”栈满”);retum(0);} //s1满s2非空,这时s1不能再入栈 if(topl==n&&sempty(s2)) //若s2为空,先将s1退栈,元素再压栈到s2 {while(!sempty(s1)){pop(s1,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退栈相当于队列出队 pfinff(”出队元素”,x); } (3)int queue—empty(){ //本算法判用栈s1和s2模拟的队列是否为空 if(sempty(s1)&&sempty(s2))return(1); //队列空 else return(0): //队列不空 }
解析
转载请注明原文地址:https://www.kaotiyun.com/show/0YRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1543年发表解剖学专著《人体结构论》的是()。
阅读下列史料,并回答问题:在琶勒尼斯(注:地名)一役获胜后,他(庇西特拉图)便占领政府,并解除人民武装;现在他已能稳定地握住僭主政权,并且取得那克索斯。以吕格达密斯为统治者。他解除人民武装的方法是这样的:他在塞修斯庙举行了一个武装的阅兵式,同时举行一次民
罗马帝国疆域扩张到顶点是在()统治时期。
“二战”爆发的原因是多种因素综合作用的结果,其中最根本的因素是()。
下列选项中,属于汉武帝时期削弱地方诸侯势力的措施是()。①推恩令②左官律③附益法④酎金夺爵
阅读下列材料,并结合所学知识回答问题:材料一重申粮食垄断和价格都是不可更改的,重申必须同粮食投机商进行无情斗争,同时责成每一者,必须在本法令公布后一周内,把超过播种田地和自己到下次收获前的定额消费量的全部余粮呈报交售,呈报的办法由粮
电子计算机的发展经过了:①电子数值积分计算机(ENIAC)②集成电路计算机③大规模集成电路汁算机④晶体管计算机⑤人工智能计算机其先后顺序是()。
某机字长32位,它的存储容量为256MB,按字节编址,则它的寻址范围大小为()。
已知散列函数为H(key)=key%11,处理冲突的方法为二次探测法,探测的序列为:1,-1,4,-4,…,j2,-j2(j<=m/2)。当di>0时,Hi=(H(key)+di)%m当di<0时,Hi=(H(key)+di+m)%m散列
指令系统字长16位,每个地址码为6位,采用扩展操作码的方式,试设计14条二地址指令,100条一地址指令,100条零地址指令。(1)画出操作码的扩展形式。(2)下图为指令译码逻辑图,其中只给出了二地址指令的译码逻辑,试补全一地址指令和零地址指令的
随机试题
肺血栓栓塞症的栓子主要来源于
使信息持久,可以核实、查询的沟通方式是()
内径减少百分之多少为颈动脉中度以上狭窄的形态学指标
张三、李四、王五、赵六、周七五人为研究生同学,2012年7月研究生毕业时,五人商议欲创立一家经营法律类图书的华星英杰有限责任公司。五人订立了设立公司的协议,约定张三以遗嘱继承的其祖父所留给他的临街的一处二层商业房作为出资;李四以货币作为出资;王五以其草原风
用简化的方法计算期权敞口头寸时,持有期权的敞口头寸等于银行因持有期权而可能需要买入或卖出的外汇总额。()
下列情形中会使企业增加股利分配的是()。
影响幼儿生心理健康的因素有()。
实验证明:学习程度达到()时,记忆效果最佳。
Lookattheformbelow.Someinformationismissing.Youwillhearawomanbookingexhibitionspaceonthephone.Foreachquest
Themoretimewespendsittinginfrontofourcomputers,theworseourposturegets.Moderntechnologyisturningusintoliter
最新回复
(
0
)