首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
请利用两个栈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
2017-11-14
93
问题
请利用两个栈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){ //sl是容量为n的栈,栈中元素类型是elemtp。本算法将x入栈, //若入栈成功返回1,否则返回0 if(topl==n&&!sempty(s2)) //topl是栈s1的栈顶指针,是全局变量 {printf(”栈满”);return(O);} //sl满s2非空,这时s1不能再入栈 if(top1==n&&sempty(s2)) //若s2为空,先将sl退栈,元素再压栈到s2 {while(!sempty(s1)){pop(s1,x);push(s2,X);} push(s1,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(s1,x);push(s2,x);} pop(s2,x); //s2退栈相当于队列出队 printf(”出队元素”,X); } (3)int queue_empty(){ //本算法判用栈s1和s2模拟的队列是否为空 if(sempty(s1)&&sempty(s2))return(1); //队列空 else return(0); //队列不空 }
解析
转载请注明原文地址:https://kaotiyun.com/show/qxRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
近代中国各派军阀的共同点有()①始终打着维护共和制度的旗号②利用中央政权排斥异己③都试图夺取中央政权④以帝国主义列强为靠山
“两个凡是”
下面关于新经济政策的说法不正确的一项是()。
阅读材料,回答问题:材料一:巴尔干半岛和东地中海地区,历来被英国视为大英帝国的生命线。大战结束前后,美国利用种种借口,千方百计渗入这个连接欧亚两大洲的重要战略地区……1947年2月21日,英国向美国国务院发出了结束援助希腊、土耳其的照会,声称国内严重的经
在下面哪本著作中以异化劳动理论的形式阐述了一种新的科学世界观的雏形?()
在下面哪本著作中以异化劳动理论的形式阐述了一种新的科学世界观的雏形?()
下面哪部经典是我国最早的官方史书?()
随机试题
男,48岁,外出旅游后出现发热、咳嗽咳痰,乏力,腹泻5天。查体:血压120/76mmHg,神志清楚,双下肺可闻及湿啰音。化验血白细胞12×109/L,中性粒87%。Na+126mmol/L。胸片提示双下肺斑片状影。外院予“头孢呋辛”静脉治疗3天后,自觉症
女性,25岁,现妊娠3个月,近1个月心悸、多汗,易饥、体重下降。查体:轻度突眼,甲状腺Ⅱ度肿大,可闻及血管杂音。为确诊,最有价值的检查项目是
1996年9月,陈某某因流氓罪被判处3年有期徒刑。1997年《刑法》实施以后,陈某某以新的刑法里没有流氓罪罪名为由提起申诉。关于如何处理本案,下列哪一选项是正确的?()
下列施工承包合同形式中,承包商承担全部工作量和价格风险的是()。
某大型工程项目由政府投资建设,业主委托某招标代理公司代理施工招标。招标代理公司确定该项目采用公开招标方式招标,招标公告在当地政府规定的招标信息网上发布。招标文件中规定:投标担保可采用投标保证金或投标保函方式担保。评标方法采用经评审的最低投标价法。投标有效期
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性。()
2011年上半年,我国软件产业实现软件业务收入8065亿元,同比增长29.3%,增速比去年同期高0.2个百分点;实现利润103亿元,同比增长34.9%。其中,6月份完成软件业务收入1828亿元,同比增长32.9%,增速比5月份回升3.6个百分点。
Learningdisabilitiesareverycommon.Theyaffectperhaps10percentofallchildren.Fourtimesasmanyboysasgirlshavelea
电子计算机最早的应用领域是()。
Theyhaveaccomplishedtheirmissionsuccessfully.
最新回复
(
0
)