首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
为了增加内存空间的利用率和减少溢出的可能性,通常采用两个栈利用同一块存储空间的方法。通常两个栈的栈底设在内存空间的两端,而栈顶相向,迎面增长。已知有两个栈s1、s2都采用顺序栈方式,并且共享一个存储区[0~maxsize一1]。 设计共享存储空间的
为了增加内存空间的利用率和减少溢出的可能性,通常采用两个栈利用同一块存储空间的方法。通常两个栈的栈底设在内存空间的两端,而栈顶相向,迎面增长。已知有两个栈s1、s2都采用顺序栈方式,并且共享一个存储区[0~maxsize一1]。 设计共享存储空间的
admin
2019-08-15
40
问题
为了增加内存空间的利用率和减少溢出的可能性,通常采用两个栈利用同一块存储空间的方法。通常两个栈的栈底设在内存空间的两端,而栈顶相向,迎面增长。已知有两个栈s1、s2都采用顺序栈方式,并且共享一个存储区[0~maxsize一1]。
设计共享存储空间的两个栈s1、s2的入栈和出栈算法。要求:
根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释;
选项
答案
算法设计如下: #define maxsize //两栈共享顺序存储空间所能达到的最多元素数 #define elemtp int //假设元素类型为整型 typedef struct { elemtp stack[maxsize];//栈空间 int top[2]; //top为两个栈顶指针 }stk; stk s: //s是如上定义的结构类型变量,为全局变量 ①入栈操作: int push(int i,int x){ //入栈操作。i为栈号,i=0表示左边的栈sl,i=1表示右 //边的栈s2,x是入栈元素。入栈成功返回1,否则返回0 if(i<0 ∣∣i>1){printf(”栈号输入不对”);exit(0); } if(s.top[1]一s.top[0]==1){printf(”栈已满\n”);return(0); } switch(i){ case 0:s.stack[++s.top[0]]=x:return 1;break; case l:s.stack[--s.top[1]]=x;return 1: } } ②退栈操作: elemtp pop(int i){ if(i<0∣∣i>1){printf(”栈号输入错误\n”): exit(0);} switch(i){ case 0:if(s.top[0]==一1){prinff(”栈空\n”);retum一1;} else return s.stack[s.top[0]--]: case 1:if(s.top[1]==maxsize}{printf(”栈空\n”);retum一1;} else return s.stack[s.top[1]++]; } }
解析
转载请注明原文地址:https://kaotiyun.com/show/gOCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
鸦片战争失败后,西方列强强迫清政府签订了中国近代史上第一批不平等条约。鸦片战争是中国历史的转折点,对中国历史产生了深远的影响。中国开始逐步沦为半殖民地半封建社会。据此回答问题:西方列强在近代中国攫取的第一块殖民地和第一个租界是()
1977年4月,对“两个凡是”提出批评,开全党思想解放先河的是()。
某计算机有8个主设备需要竞争总线的使用权,其设备号为0~7。现欲设计其判优控制方法,试回答下述问题。(1)集中式总线判优控制与分布式总线判优控制的区别是什么?(2)若采用集中式判优控制,则在链式查询、计数器定时查询和独立请求三种方式下,
若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。(1)先来先服务算法;(2)最短寻找时间
某计算机采用微程序控制方式,微指令字长32位,采用字段直接编码的控制方式,共有55个微命令,可分为6个互斥组,分别包含1、3、7、8、12、24个微命令。另外,该机共有5个可判定的外部条件,采用断定方式形成后续微指令地址。(1)设计该机微指令的格式,
关于分页系统,回答下列问题:(1)在页表中,哪些数据项是为实现换页而设置的?(2)设某系统为每个作业进程分配3个内存块,某作业进程在运行访问中的轨迹为1,4,3,1,6,8,1,且每一页都是按请求装入的。问:先进先出页面置换算法(FIF
(1)简述判断死锁的必要条件。(2)一种哲学家就餐问题的解决方案如下所述(对每位哲学家都采用这种算法),分析其死锁的可能性并提出解决方案。Philosopheri:d0{wait(chopstick[i];wait(ch
设有一个双向链表h,每个结点中除有prior,data和next三个域外,还有一个访问频度域freq,在链表被起用之前,每个结点中的freq域都被初始化为零。每当进行LocateNode(h,x)运算时,令元素值为x的结点中freq域中的值加一,并调整表中
进程从运行状态转换为就绪状态的可能原因是()。
若x=103,y=-25,则下列表达式采用8位定点补码运算实现时,会发生溢出的是_______。
随机试题
起重机械触电事故是指从事起重操作和检修作业的人员,因触电而导致人身伤亡的事故。下列措施中,不能有效防止触电事故发生的是()。
A.穿过棘孔的动脉分支B.穿过下颌孔的动脉分支C.穿过眶下孔的动脉分支D.穿过腭大孔的动脉分支E.穿过蝶腭孔的动脉分支下牙槽动脉()
A.合谷B.外关C.列缺D.内关E.后溪用于治疗侧身部疾病的腧穴是
在个人信用贷款的贷前调查中,调查人要通过查询人民银行个人信用信息基础数据库,调查借款申请人是否有不良信用记录。()
恒利发展是在上海证券交易所挂牌的上市公司,股本总额10亿元,主营业务为医疗器械研发与生产。恒利发展拟通过非公开发行公司债券的方式筹集1亿元资金,并初拟了发行方案,内容如下:(1)拟发行的公司债券规模为1亿元,期限5年,面值100元;(2)发行对象为不超过
2014年5月5日,因A公司未能偿还对B公司的到期债务,B公司向人民法院提出对A公司进行破产清算的申请。A公司收到人民法院通知后,于5月9日提出异议,认为本公司未达破产界限,理由是:第一,B公司对A公司之债权由C公司提供连带保证,而C公司完全有能力
“心如明镜台,时时勤拂拭”,提醒我们在日常工作中要做到()。
公安机关及其工作人员在行使刑事侦查职权时,有下列()侵犯人身权情形的,受害人有取得赔偿的权利。
ThegrowthoftheuseofEnglishastheworld’sprimarylanguageforinternationalcommunicationhasobviouslybeencontinuing
有如下程序#includeusingnamespacestd;classBase{protected:Base(){cout
最新回复
(
0
)