首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设有m个连续单元供一个栈与队列使用,且栈与队列的实际占用单元数事先不知道,但是要求在任何时刻它们占用的单元数量不超过m,试写出上述栈与队列的插入算法。
设有m个连续单元供一个栈与队列使用,且栈与队列的实际占用单元数事先不知道,但是要求在任何时刻它们占用的单元数量不超过m,试写出上述栈与队列的插入算法。
admin
2012-06-21
102
问题
设有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
学硕统考专业
相关试题推荐
论述西汉时期的诸侯王国问题。(2010年统考真题)
体现一战后,英国自治领分离运动加强的文件是()。
维也纳会议争论的焦点问题是()。
利玛窦与李之藻合译的()一书,介绍了西方数学中的算术知识,尤为可贵的是,其传入了中国所没有的西洋笔算法。
下面条约没有涉及德国的赔款问题的是()。
在五四运动至新中国成立前这一时期,实际上可供中国人民选择的建国方案主要是()。
简述西欧经济一体化的原因、进程和意义。
论述欧洲一体化进程及其影响。
如果互联的局域网高层分别采用TCP/IP协议与SPX/IPX协议,那么我们可以选择的多个网络互联设备应该是()。
随机试题
试述中心性发绀与周围性发绀鉴别特点。
招标采购过程风险责任分配的一般原则包括()。
如果是住宅开发项目,那么市场分析将包括与房地产代理机构、物业管理人员特别是住户的沟通,以了解开发项目周围地区住宅的供求状况、价格水平,对现有住宅的满意程度和对未来住房的希望,以确定所开发项目的平面布置、装修标准和室内设备的配置。()
砖墙上有1.2m宽门洞,门洞上设钢筋砖过梁,若过梁上墙高为1.5m,则计算过梁上墙重时,应取墙高为()m。
东兴公司2014年8月主营业务收入200万元,主营业务成本150万元,管理费用8万元,公允价值变动收益3万元,资产减值损失1万元,投资收益7万元,营业外收入6万元。假定不考虑其他因素,该企业当月的营业利润为()万元。
社会工作督导过程中,督导前期的最重要技巧是()。
提出“产婆术”的教育家是()。
不动产物权的权利变动,通常以()为公示方法。
下面的三角形表示某省五种产业的数量按地域划分(城区、郊区、乡村)所占百分比。图上的字符表示各种工业,三角形的顶点表示100%,与该顶点相对的基线表示0%。例如,该省所有的加工企业中,约有70%地处城市,5%位于乡村,25%在郊区。哪一种产业在城区
某分部工程双代号网络图如下图所示,其作图错误表现为______。
最新回复
(
0
)