首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
请利用两个栈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
71
问题
请利用两个栈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
学硕统考专业
相关试题推荐
简述梭伦改革的主要内容和历史意义。
中华人民共和国恢复在联合国合法席位的时间是()。
《蒙巴顿方案》
北约和华约两个组织对峙近半个世纪,其影响是()。
商代青铜器的制作技术很高,尤其是礼器的制作,造型美观,纹饰精巧,是水平极高的工艺品,其中主流的花纹是()。
阅读史料,回答以下问题:重庆中央党部,暨中央执监委员诸同志均鉴:今年4月,临时全国代表大会宣言,说明此次抗战之原因,曰:“自塘沽协定以来,吾人所以忍辱负重与倭国周旋,无非欲停止军事行动,采用和平方法,先谋北方各省之保全,再进而谋东北四省问题之合
阅读史料回答以下问题:天既哀大地生人之多艰,黑帝乃降精而救民患,为神明,为圣王,为万世作师,为万民作保,为大地教主。生于乱世,乃据乱世而立三世之法,而垂精太平。乃因其所生之国,而立三世之义,而注意于大地远近、大小若一之大一统。乃立元以统天,以天为
论述王安石变法的背景、主要内容、作用及其失败的原因。
设磁盘的扇区大小为4KB,磁盘转速为15000r/min,磁盘平均寻道时间为4ms,最大数据传输速率为40MB/s,磁盘控制器开销时问为1ms,计算读写一个扇区所需平均时间(不考虑I/O请求队列中的等待时间)。
图1-2是某存储芯片的引脚图,请回答:(1)这个存储芯片的类型(是RAM还是ROM)?这个存储芯片的容量?(2)若地址线增加一根,存储芯片的容量将变为多少?(3)这个芯片是否需要刷新?为什么?刷新和重写有什么区别?(
随机试题
为扩大交流电压表量程,应配用()。
《八声甘州》(对潇潇暮雨洒江天)中,直接抒发了羁旅之苦、思乡之切的词句是()
图示阶梯圆轴,其直径分别为36mm和30mm,[τ]=40MPa,试校核梁的强度。
5岁男性,有不洁饮食史,自觉胸痛,气急,咳果酱色黏痰,CT示肺内多发边缘模糊斑片状影,内有多个空洞,空洞壁厚薄不均,部分空洞内有条状高密度影,最可能的诊断是
为减轻肾小球的高灌注、高滤过、高压状态,其饮食疗法应选择
A.醋酸氢化可的松B.醋酸地塞米松C.醋酸泼尼松龙D.醋酸氟轻松E.醋酸曲安奈德16α位为甲基的药物是
期间费用包括()。
监督批评权(厦门大学2010年研)
TherearemanysuperstitionsinBritain,butoneofthemost【B1】______heldisthatitisunluckytowalkunderaladder—eveni
利用数据访问页向导设计报表时,无法设置()。
最新回复
(
0
)