首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
为了增加内存空间的利用率和减少溢出的可能性,通常采用两个栈利用同一块存储空间的方法。通常两个栈的栈底设在内存空间的两端,而栈顶相向,迎面增长。已知有两个栈s1、s2都采用顺序栈方式,并且共享一个存储区[0~maxsize一1]。 设计共享存储空间的
为了增加内存空间的利用率和减少溢出的可能性,通常采用两个栈利用同一块存储空间的方法。通常两个栈的栈底设在内存空间的两端,而栈顶相向,迎面增长。已知有两个栈s1、s2都采用顺序栈方式,并且共享一个存储区[0~maxsize一1]。 设计共享存储空间的
admin
2019-08-01
23
问题
为了增加内存空间的利用率和减少溢出的可能性,通常采用两个栈利用同一块存储空间的方法。通常两个栈的栈底设在内存空间的两端,而栈顶相向,迎面增长。已知有两个栈s1、s2都采用顺序栈方式,并且共享一个存储区[0~maxsize一1]。
设计共享存储空间的两个栈s1、s2的入栈和出栈算法。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释;
选项
答案
(1)栈s1、s2共享向量空间,将两栈栈底设在向量两端。初始时,s1栈顶指针为一1,s2栈顶为maxsize。两栈顶指针相邻时为栈满。两栈顶相向,迎面增长,栈顶指针指向栈项元素。 (2)算法设计如下: #define maxsize //两栈共享顺序存储空间所能达到的最多元素数 #define elemtp int //假设元素类型为整型 typedef struct f elemtp stack[Itlaxsize];//栈空间 int top[2]; //top为两个栈顶指针 }stk; stk s: //s是如上定义的结构类型变量,为全局变量 ①入栈操作: int push(int i,int x){ //入栈操作。i为栈号,i=0表示左边的栈s1,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 1: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){printf(“栈空\n”);return一1;} else return s.stack[s.top[0]一一]; case 1:if(s.top[1]==maxsize){printf(“栈空\n”);return—1;} else return s.stack[s.top[1]++]; } }
解析
转载请注明原文地址:https://kaotiyun.com/show/W8Ci777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列关于提督学政的说法不正确的是()。
关于井田,最具权威性的最早的叙述者是()
简述日本明治维新的主要内容。
三国时期,魏、蜀、吴三国灭亡的历史顺序是()。
()是清代管理边疆少数民族地区事务的机关,也掌管一部分外交事务。
关于哈夫曼树,下列说法正确的是()。
若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。(1)先来先服务算法;(2)最短寻找时间
高度为4的4阶B树最多可容纳()个关键字(根是第1层)。
以下说法中,错误的是()。
下列关于图的叙述中,正确的是____。I.回路是简单路径Ⅱ.存储稀疏图,用邻接矩阵比邻接表更省空间Ⅲ.若有向图中存在拓扑序列,则该图不存在回路
随机试题
气焊时焊炬和焊丝的运走方向同时都从左到右称____,同时都从右到左称____。
西方国家为加强环境管理而采用的一种卓有成效的行政管理制度是()。
在司汤达的《红与黑》第30章中,于连再次征服德.雷纳尔夫人的过程,其实是他()
A、腹内斜肌,腹横肌的弓状下缘B、腹股沟韧带和腔隙韧带C、腹外斜肌腱膜D、腹膜、腹横筋膜和联合肌腱E、腹内斜肌和联合肌健构成腹股沟管的下壁_______。
严重创伤后需要及时处理的代谢改变是
道氏理论认为,在下列所有价格中最重要的是( )。
广告置换是指媒体与媒体之间,以资源共享为基础,以自愿的效用最大化为目的,满足双方需求实现共赢的等值交换。根据上述定义,下列属于广告置换的是:
关系数据库管理系统应能实现的专门的关系运算包括
层次型、网状型和关系型数据库划分原则是
TVGamesShowsOneofthemostfascinatingthingsabouttelevisionisthesizeoftheaudience.Anovelcanbeonthe"best
最新回复
(
0
)