首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
请利用两个栈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-08-01
35
问题
请利用两个栈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 s1,elemtp x){ //s1是容量为n的栈,栈中元素类型是elemtp。本算法将x入栈, //若入栈成功返回1,否则返回0 if(top1==n&&!sempty(s2)) //top1是栈s1的栈顶指针,是全局变量 {printf(“栈满”);return(0);} //s1满s2非空,这时s1不能再入栈 if(top1==n&&sempty(s2)) //若s2为空,先将s1退栈,元素再压栈到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 quelle_empty(){ //本算法判用栈s1和s2模拟的队列是否为空 if(sempty(s1)&&sempty(s2))return(1); //队列空 else return(0); //队列不空 } 提示:算法中假定栈s1和栈s2容量相同。出队从栈s2出,当s2为空时,若s1不空,则将s1倒入s2再出栈。入队在s1,当s1满后,若s2空,则将s1倒入s2,之后再入队。因此队列的容量为两栈容量之和。元素从栈s1倒入s2,必须在s2空的情况下才能进行,即在要求出队操作时,若s2空,则不论s1元素多少(只要不空),就要全部倒入s2中。
解析
转载请注明原文地址:https://jikaoti.com/ti/0LGjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
《明定国是》诏的内容不包括()。
下列明末清初来华传教士,按时间顺序排列,正确的是()。
1956年,苏共二十大后,匈牙利大党员和群众强烈要求克服个人崇拜,扩大民主,实行经济改革,一些由知识分子、大学生和干部组成的社团组织纷纷成立,其中最有影响者是()。
经六朝时期的发展,南方形成了三个农业发达地区即()。
试分析太平天国革命运动对中国社会的历史影响。
春秋时期,鲁国实行初税亩的目的是()。
在平衡二叉树中的每个结点上增设一个Lsize域,其值为它的左子树中的结点个数加1,试写一个时间复杂度为O(logn)的算法,确定树中第k个结点的位置。
某计算机有8个主设备需要竞争总线的使用权,其设备号为0~7。现欲设计其判优控制方法,试回答下述问题。(1)集中式总线判优控制与分布式总线判优控制的区别是什么?(2)若采用集中式判优控制,则在链式查询、计数器定时查询和独立请求三种方式下,
若二叉树的前序序列为DABCEFG,中序序列为BACDFGE,则其层次序列为()。
随机试题
AlanLakein,atimemanagementexpert,thinksthatnothingisatotalwasteoftime,includingdoingnothingattimes.Ifyouar
静脉输血
患者,女,60岁。有消渴病史8年。形体消瘦,尿频量多,混浊如脂膏,口干唇燥,舌红,脉细数。治疗应首选( )。
政府采购实行集中采购和分散采购相结合。集中采购的范围由省级以上人民政府公布的集中采购目录确定。()
最常用的公司竞争力分析框架是SWOT分析,竞争力分析通常包括()。
甲上市公司2008年6月1日发行年利率4%的可转换公司债券,面值10000万元,每100元面值的债券可转换为1元面值的普通股80股。2009年甲上市公司的净利润为45000万元,2009年发行在外的普通股加权平均数为50000万股,所得税税率25%。则甲上
根据所给资料。回答下列问题。2008年,浙江省全年粮食播种面积和单产分别比上年增长0.1%和4.0%,粮食总产量为775.55万吨,增长4.1%,其中晚稻总产量为601.08万吨,增长5.6%(见下表)主要经济作物有增有减。其
A、 B、 C、 D、 A这道题既不都是字母,也不都是几边形。一时难以找准切入点。但仔细分析一下便可知,这是按图形由几笔而画成的题。第一套图形中的三个图,皆由一笔画成,第二套也是这样。依此规律,在四个选项中,
传统文学是小众的,网络文学是大众的;传统文学是厚重的,网络文学是_______的;传统文学是“烧脑”的,网络文学是_______的;传统文学是作者的文学,网络文学是读者的文学。填入画横线部分最恰当的一项是:
在商场购物中,实体顾客和实体商品之间的联系是()。
最新回复
(
0
)