首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
请利用两个栈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
20
问题
请利用两个栈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
学硕统考专业
相关试题推荐
标志着国民党反动统治建立的事件是()。
第三次科技革命促进了社会经济结构和社会生活结构的变化,其在社会经济结构方面的变化主要是()
白虎观会议是由汉()帝主持的。
前期的新文化运动不能给灾难深重的中国指明真正的出路,主要是由于()。
“二战期间,美国研制了原子弹并用于实践;1946年美国投入的第一台电子计算机最初是用于计算炮弹弹道;德国人研制成功的远程液体火箭是用于空袭英国的。”以上史实说明()。
IP数据报的报文格式如下图所示。在没有选项和填充的情况下,报头长度域的值为()。
支持多道程序的操作系统,区别于其他操作系统的主要特征为()。
在4×100米接力赛中,4个运动员之间存在如下关系:运动员1跑到终点把接力棒交给运动员2;运动员2一开始处于等待状态,在接到运动员1传来的接力棒后才能往前跑,他跑完100米后交棒给运动员3;运动员3也只有接到运动员2传来的接力棒后才能往前跑,他跑完100米
图的D搜索类似于BFS,不同之处在于使用栈代替BFS中的队列,入/出队列的操作作为入/出栈的操作,即当一个顶点的所有邻接结点被搜索后,下一个搜索出发点应该是最近入栈(栈顶)的顶点。(1)用邻接表作为存储结构,写一个D搜索算法;(2)用D搜索方法
三类线程search、insert、delete共享(访问)单链表,利用P、V原语操作实现这三类线程。限定如下:(1)search可以与同类线程同时执行;(2)insert类线程之间互斥,但是可以与任意多search同时执行;(3)del
随机试题
Theusual(i)________spendingpublicmoniesonscientificprojectsisthatsuchprojectshavethepotentialtomakeourliveshe
设函数z=f(x,y)在点(1,2)处f’x(1,2)=0,f’y(1,2)=0,且f’’xx(1,2)=1,f’’xy(1,2)=0,f’’yy(1,2)=2,则下列结论正确的是()
Ididn’tknowtheanswer,______.
下列良性肿瘤的特点中,错误的是
甲企业会计人员在结账前进行对账时,查出以下错账:(1)用银行存款预付固定资产工程价款86000元,编制的会计分录为:借:在建工程86000贷:银行存款
银行凭借获得货运单据质押权利有追索权地对信用证项下或出口托收项下票据进行融资的行为是指()。
【2014上】人类的教育活动与动物的“教育”活动存在本质区别。它主要表现为人类的教育具有()。
李大钊在《法俄革命之比较观》中说:“法兰西之革命,非独法兰西人心变动之表征,实十九世纪全世界人类普遍心理变动之表征。俄罗斯之革命,非独俄罗斯人心变动之显兆,实二十世纪全世界人类普遍心理变动之显兆。”下列说法正确的是()。
Low-levelslash-and-bumfarmingdoesn’tharmrainforest.Onthecontrary,ithelpsfarmersandimprovesforestsoils.Thisisth
Inrecentyears,therehasbeenabigprice【B1】______betweentheprimaryandsecondarystockmarketsduetodifferentpricing【B2
最新回复
(
0
)