首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
请利用两个栈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
97
问题
请利用两个栈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://www.kaotiyun.com/show/0YRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
明清两朝已经是中国封建社会的晚期,同时也出现了许多新的社会现象,最明显的是()。
下列关于第二三次科技革命的说法,不正确的是()。
下列不属于“一国两制”的基本内容的是()。
在意大利统一过程中,加富尔为了获得拿破仑三世的支持,让与法国的领土是()。
沙俄企图侵占中国东北地区,制造“海兰泡惨案”的时间是()。
第一次国共合作采取了共产党员以个人身份加入国民党的“党内合作”方式。最早提出这种方式的是()。
列宁称马克思、恩格斯是“19世纪人类三个最先进国家中三种主要思潮的继承人和天才的完成者”。这里“三个最先进国家”指的是()。
试就MutualExclusion、Progress、BoundedWaiting论述以下解决双进程临界区问题的算法是错误的:ProcessPO:do{flag[0]=true;While(flag[1]);
指令系统字长16位,每个地址码为6位,采用扩展操作码的方式,试设计14条二地址指令,100条一地址指令,100条零地址指令。(1)画出操作码的扩展形式。(2)下图为指令译码逻辑图,其中只给出了二地址指令的译码逻辑,试补全一地址指令和零地址指令的
某单位有1个总部和6个分部,各个部门都有自己的局域网。该单位申请了6个C类IP地址202.115.10.0/24~202.115.15.0/24,其中总部与分部4共用一个C类地址。网络采用R1~R7共7台路由器,采用动态路由协议OSPF,并划分了3个OSP
随机试题
27岁产妇,体温逐渐升高达38.5℃以上,随后出现面色潮红、胸闷、脉搏增快、呼吸急促、口渴、痱子布满全身,考虑为
A、伤寒B、钩端螺旋体病C、恙虫病D、肾综合征出血热E、地方性斑疹伤寒女性,23岁,高热8天,伴有畏寒、头痛、全身酸痛。体检:胸腹部可见少量散在淡红色小斑丘疹,肝、脾均在肋下1cm。血WBC2.8×109/L,外斐反应1:
A.D-木糖B.苦杏仁苷C.D-果糖D.槐糖E.洋地黄毒苷属于五碳醛糖的是()。
下列关于公务员回避的说法哪项是正确的?()
对某项目的确定性评价得出该项目的内部收益率为16.5%,进行敏感性分析时发现,当产品价格下降5%时,内部收益率降至9%;当原料价格上涨5%时,内部收益率降至13%;当建设投资上涨5%时,内部收益率降至10%。则相比而言,该项目的最敏感性因素是()。
2007年以来,由于国内的消费物价指数屡创新高,中国人民银行从2007年3月18日开始连续6次加息,金融机构一年期存款基准利率由2.52%升至4.14%,预期未来利率水平仍将上升,此时的理财策略调整建议可以采取()。
县级以上地方人民政府应当根据当地的经济发展水平、区位优势和资源条件,按照()的原则,有重点地推进农村小城镇建设。
很多大学生希望毕业后找到一份工作,稳步发展,可是也有许多人不愿_______。他们有相对稳定的家庭背景,有工作能力,却在寻找生活的另一种可能性。填入画横线部分最恰当的一项是:
根据婚姻法的有关规定,下列有关离婚的表述,正确的有()。
下列程序的功能是为变量赋值,程序运行后,输出i=51。请改动main方法中的错误,使程序能够正确编译、运行并输出正确的结果。注意:不改动程序结构。classA{privateinta;
最新回复
(
0
)