首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
为了增加内存空间的利用率和减少溢出的可能性,通常采用两个栈利用同一块存储空间的方法。通常两个栈的栈底设在内存空间的两端,而栈顶相向,迎面增长。已知有两个栈s1、s2都采用顺序栈方式,并且共享一个存储区[0~maxsize一1]。 设计共享存储空间的
为了增加内存空间的利用率和减少溢出的可能性,通常采用两个栈利用同一块存储空间的方法。通常两个栈的栈底设在内存空间的两端,而栈顶相向,迎面增长。已知有两个栈s1、s2都采用顺序栈方式,并且共享一个存储区[0~maxsize一1]。 设计共享存储空间的
admin
2019-08-15
60
问题
为了增加内存空间的利用率和减少溢出的可能性,通常采用两个栈利用同一块存储空间的方法。通常两个栈的栈底设在内存空间的两端,而栈顶相向,迎面增长。已知有两个栈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
学硕统考专业
相关试题推荐
北宋在统一南方割据势力的过程中特设(),把征南所得的财富统一存放,以作日后恢复幽燕之费。
以下()协议完成了从网卡到IP地址的映射。
支持多道程序的操作系统,区别于其他操作系统的主要特征为()。
对下列4个序列用快速排序方法进行排序,以序列的第1个元素为基准进行划分。在第1趟划分过程中,元素移动次数最多的是()。
序列的“中值记录”指的是:如果将此序列排序后,它是第n/2个记录。试写出一个求中值记录的算法。
若有4个进程共享同一程序段,每次允许3个进程进入该程序段,用P、V操作作为同步机制,则信号量S的取值范围是()。
拿内存加上外存容量之和与虚拟存储空间相比,其大小关系是()。
若线性表最常用的运算是查找第i个元素及其前驱的值,则采用()存储方式节省时间。
设二维数组A[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素,a[0][O]的存储地址为860,则a[3][5]的存储地址为()。
随机试题
下列有关会阴部手术病人的护理内容,正确的是
A、佐珠迭西B、三十五味沉香丸C、二十九味能消散D、洁白丸E、十三味冥丸具有清热解毒、理气通淋功能的方剂是()
在运用分部分项法估算建筑物的重新购建价格时,需要注意的是()。
项目跟踪评价包括项目实施过程中从立项到项目完成前的各种评价,即项目的()。
反应型阻燃剂多用于缩聚反应,如()
Afterthebirthofmysecondchild,Igotajobatarestaurant.Havingworkedwithanexperienced【C1】______forafewdays.Iwa
我国的师生关系的根本目标是()。
设二维随机变量(X,Y)的联合密度函数为f(x,y)=.求随机变量X,Y的边缘密度函数;
函数String(n,字符串)的功能是()。
WhichofthefollowingisNOTacorrectviewonstress?WhichofthefollowingisNOTmentionedasapossiblecurefornegative
最新回复
(
0
)