首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
请利用两个栈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
86
问题
请利用两个栈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://kaotiyun.com/show/0YRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
《共产党宣言》的主要内容不包括()。
清代医学家()强调解剖学对医病的重要性,并通过亲自对尸体的解剖,绘制成《亲见改正脏腑图》25种。
著名的绥靖政策文件《霍尔—赖伐尔协定》是英、法与意大利签订的,密谋发动()。
阅读材料,回答以下问题:重庆中央党部,暨中央执监委员诸同志均鉴:今年4月,临时全国代表大会宣言,说明此次抗战之原因,曰:“自塘沽协定以来,吾人所以忍辱负重与倭国周旋,无非欲停止军事行动,采用和平方法,先谋北方各省之保全,再进而谋东北四省问题之合理解决,
以下不属于国民党控制金融的“四行”的是()。
第三世界所共有的特征及崛起的标志是什么?
试析第三次科学技术革命对人类社会和历史进程的影响。
武则天时期,为了管理天山以北的广大区域而设立了()。
下列说法中,全部符合历史事实的是()。①阿拉伯阿拔斯王朝的首都是麦地那②穆罕默德死后,他的继承人改称为哈里发,第三任哈里发奥斯曼时期,部分下层莫斯林组建了军事民主派,称为哈瓦立及派③阿拉伯人灭亡了具有1200年历史的波斯帝国的战役是雅穆克
指令系统字长16位,每个地址码为6位,采用扩展操作码的方式,试设计14条二地址指令,100条一地址指令,100条零地址指令。(1)画出操作码的扩展形式。(2)下图为指令译码逻辑图,其中只给出了二地址指令的译码逻辑,试补全一地址指令和零地址指令的
随机试题
阅读欧阳修《五代史伶官传序》中的一段文字,然后回答下列小题。方其系燕父子以组,函粱君臣之首,入于太庙,还矢先王,而告以成功,其意气之盛,可谓壮哉!及仇雠已灭,天下已定,一夫夜呼,乱者四应,仓皇东出,未及见贼而士卒离散,君臣相顾,不知所归,至于誓天断发,泣
下述哪种因素与血栓形成无关
主动的药物信息服务包括()。
某全预应力混凝土桥梁静载试验,采用电阻应变片和静态应变仪检测结构应变,试完成下述相关试验操作。当应变数据出现不稳定,波动和漂移较大时,应从以下()等方面检查原因。
在班级管理中,班主任是班级的法人。()
沙石出身贫贱,却有着崇高的理想;它形虽碎散,却一心向往集体。它不像珍珠那样一味炫耀自己,也不像钻石那样孤芳自赏。平日_________,一旦需要,它又招之即来。论胆识,可以_________;讲忠贞,心甘__________。献身前,绝无先决条件;献身后,
交通肇事罪
在1988年,波罗的海有很大比例的海豹死于病毒性疾病。然而在苏格兰沿海一带,海豹由于病毒性疾病而死亡的比率是波罗的海的一半。波罗的海海豹血液内的污染性物质水平比苏格兰海豹的高得多。因为人们知道污染性物质能削弱海洋生哺乳动物对病毒的抵抗力,所以波罗的海内海豹
[A]nurse[B]playground[C]busstop[D]eyes[E]hand[F]hair[G]juicePeopledrinkitwhentheyarethir
WhichofthefollowingitalicizedpartsindicatesRESULT?
最新回复
(
0
)