首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
请利用两个栈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
80
问题
请利用两个栈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
学硕统考专业
相关试题推荐
第一次鸦片战争过程中,清政府在()时对英国侵略者的态度发生了转变。
元代()曾为司马光的《资治通鉴》作注,叫做《通鉴注》,是元代比较有代表性的史学著作。
《孟子.告子》载:“天子适诸侯,日巡狩;巡所狩也;诸侯朝天子,日述职;述职者,述所职也。无所事者……一不朝则贬其爵,再不朝则削其地,三不朝则六甲师移之。”此材料反映的历史现象是()
试析凡尔赛一华盛顿体系的实质及其对一战后国际关系的影响。
论述世界反法西斯联盟的建立过程
英国封建制度形成的过程。
以下关于阿兹特克文化的叙述,不正确的是()。
某32位机(机器字长32位)的一台外设通过32位总线与系统内存相连。CPU每秒执行100条指令,平均每条指令需要5个机器周期,其中3个周期必须访问内存,内存读写需一个机器周期,假定CPU在95%的时间内持续执行“背景程序”,且这段时间内不执行I/O指令。现
序列的“中值记录”指的是:如果将此序列排序后,它是第n/2个记录。试写出一个求中值记录的算法。
一个客户机利用FTP协议从服务器上下载文件,如下图所示为整个过程中协议交换的过程,请回答如下问题:(1)该协议层图中第四层协议是什么?(2)如果FTP客户端采用了LIST命令来获得FTP服务器上的文件列表,该列表采用什么端口传输?
随机试题
苏联教育家马卡连柯提出:“要尽可能多地要求一个人,也要尽可能地尊重一个人。”这提示我们应注意贯彻的德育原则是()。
甲状腺未分化癌的治疗为
某投资项目经计算得出,FNPV(15%)=10,FNPV(20%)=一30,则该方案的内部收益率为()。
某公司十年来一直只生产电视机显像管,产品质量较好,经营状况良好。2006年该公司与某电视机生产企业联合开始生产电视机成品,拟生产三种不同型号的电视机产品,产品畅销、一般滞销的概率分别为0.3、0.5、0.2。有四个备选方案,具体如下表所示:根据上述材料
下列各项有关投资性房地产会计处理的表述中,正确的是()。(2016年回忆版)
简述活动中心课程论的主要观点。
某市西区治安联防队行使该区公安分局委托的治安管理权。某日联防队员李某抓获有盗窃嫌疑的王某,因王某拒不说出自己真实姓名,李某用木棍将其殴打致伤。王某向法院请求国家赔偿,应由()承担国家赔偿义务。
下列关于抵押财产的说法,正确的有
A、 B、 C、 D、 B
In1959,Hawaiibecamethefiftiethstateintheunion(1)_____CongresssofarawayinWashingtonD.C,howdoHawaiiansgetthe
最新回复
(
0
)