首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设有m个连续单元供一个栈与队列使用,且栈与队列的实际占用单元数事先不知道,但是要求在任何时刻它们占用的单元数量不超过m,试写出上述栈与队列的插入算法。
设有m个连续单元供一个栈与队列使用,且栈与队列的实际占用单元数事先不知道,但是要求在任何时刻它们占用的单元数量不超过m,试写出上述栈与队列的插入算法。
admin
2012-06-21
107
问题
设有m个连续单元供一个栈与队列使用,且栈与队列的实际占用单元数事先不知道,但是要求在任何时刻它们占用的单元数量不超过m,试写出上述栈与队列的插入算法。
选项
答案
算法如下: //定义结点的结构为 struct Node{ ElemType data; struct Node*next; } //定义栈的结构 struct Stack{ Node*base; Node*top; } //定义队列的结构 struct Queue{ Node*front; Node*tail; }; //设m个连续单元的数组为b[m],定义全局数组static int a[m]用以标识m个单元中各个单元是否被占用 //a[i]=1表示已占用,a[i]=0表示未被占用 void InsertStack(struct stack&S,ElemType elem) { for(int i=0;i<m;i++) if(a[i]==0) break; if(i==m) { printf("NO SPACE\n"); return; } a[i]=1; Node*p=&b[i]; p->data=elem; p->next=NULL; if(S.base==NULL) { S.base=p; S.top=p; } else { p->next=p; S.top=p; } } void InsertQueue(struct Queue&Q,ElemType elem) { for(int i=0;i<m;i++) if(a[i]==0) break; if(i==m) { printf("NO SPACE\n"); return; } a[i]=1; Node*p=&b[i]; p->data=elem; p->next=NULL; if(Q.front==NULL) { Q.front=p; Q.tail=p; } else { Q.tail->next=p; Q.tail=p; } }
解析
转载请注明原文地址:https://kaotiyun.com/show/3Axi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
第一国际成立于下面的哪个城市?()
唐朝时,从中国传到大食的手工技术是()
二战后世界经济发展变化迅速,这种变化主要表现在()①国际金融体系和贸易体系的形成②国家垄断资本主义的空前发展③形成以美苏冷战为特征的两极格局④科学技术推动生产力发展更为迅速
1948年,南斯拉夫对从苏联照搬来的“行政命令式的国家集权式”体制进行改革逐步形成有自己特色的建设社会主义的理论和方法,其核心是()。
下面哪项条约没有涉及德国的赔款问题?()
从下面关于虚拟设备的论述中,选择一条正确的论述()。
在独立编址方式下,存储设备和I/O设备是()来区分的。
随机试题
男孩,8岁,肾病综合征初治,体重25kg,泼尼松每次25mg,每天2次,治疗2周后,水肿消失,4周时尿蛋白转阴。此时判断该患儿疗效为
A.3个月B.6个月C.1年D.3年E.10年药品批准文号、进口药品注册证、医药产品注册证申请再注册的期限是有效期届满前
下列关于热阻式热流计的描述中哪项是错误的?()A.其热流密度测量原理是傅里叶定律B.热流测头输出的热电势与通过热流侧头的热流密度成正比C.测量时热流探头应紧贴被测表面D.为提高测量精度,热流探头应尽量薄,热阻应大些
下列关于建设项目敏感性分析临界点的表述中,正确的是( )。
投资者已知项目有风险,但可能获得高额利润、不愿将获利机会分给别人而甘愿独自承担风险,这种风险对策被称为()策略。
企业根据现有的生产组织条件和技术水平等因素,所能够达到的现实生产能力是指()。
在教育领域,有个路人皆知的道理,即无论采用笔试的形式还是其他手段,都无法预先衡量一个人在一份既定事业中是否会成功。当然,有些测试确实可以衡量一个人具备的具体技能,但是,这些考试却无法表明,拥有这些有限技能的人具备做好正在申请的工作的能力。知道如何熟练地打字
课的结构
(12)图像通过使用彩色查找来获得图像颜色。
MISDEMEANOR:CRIME::
最新回复
(
0
)