首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
请利用两个栈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
48
问题
请利用两个栈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
学硕统考专业
相关试题推荐
明朝灭亡后,以下南明小朝廷存在的先后顺序是()。①绍武政权②永历政权③隆武政权④弘光政权
前期罗马帝国时期,关于罗马东方行省的传统手工业产品的叙述,不正确的是()。
第三次科技革命促进了社会经济结构和社会生活结构的变化,其在社会经济结构方面的变化主要是()
党锢事件发生后,清议的浪潮更为高涨,度辽将军()没有被当做名士列入党锢,甚至自陈与党人的关系,请求连坐。
下面条约没有涉及德国的赔款问题的是()。
二战后主要资本主义国家经济恢复和发展的杠杆是()①政府采取宏观调控政策②发展国家垄断资本主义③充分利用科技成果④加强国际经济联系
白虎观会议是由汉()帝主持的。
以下选项中中原王朝对西藏管辖设置机构对应有误的一项是()。
论述欧洲一体化进程及其影响。
一个使用选择性重传协议的数据链路层协议,如果采用了5位的帧序列号,那么可以选用的最大窗口是()。
随机试题
在网络图的多条线路中,耗用时间最少的即为关键线路。()
A.腕垂症B.猿掌C.爪形手D.餐叉样畸形E.杵状指
胰腺癌常见的首发症状是
甲怀疑妻子与乙通奸,遂找来好友丙帮忙,一起将乙杀死,碎尸埋在深山老林。案发后,甲在妻子陪同下向公安机关投案,并如实供述了自己和丙的杀人罪行,还揭发了乙半夜抢劫并奸淫妇女十余人的犯罪行为。依据我国刑法规定,对甲的量刑错误的是()。
侯某因诈骗罪被判处有期徒刑1年,判决前已羁押10个月。在交付执行后,因突发脑出血致生活不能自理,现申请暂予监外执行。下列哪些说法是正确的?()
射钉紧固技术的优点不包括()。
建设项目文档资料的特征有()。
计量控制作为施工项目质量管理的基础工作,主要任务是()。
钢丝绳在下列()情况下,应报废或截除.
内存储器中不能用指令修改其存储内容的是______。
最新回复
(
0
)