首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
简单队列是符合先进先出规则的数据结构,下面用不含有头结点的单向循环链表表示简单队列。 函数EnQueue(Queue*Q,KeyType new_elem)的功能是将元素new—elem加入队尾。 函数DeQueue(Queue*Q,Key
简单队列是符合先进先出规则的数据结构,下面用不含有头结点的单向循环链表表示简单队列。 函数EnQueue(Queue*Q,KeyType new_elem)的功能是将元素new—elem加入队尾。 函数DeQueue(Queue*Q,Key
admin
2018-04-19
107
问题
简单队列是符合先进先出规则的数据结构,下面用不含有头结点的单向循环链表表示简单队列。
函数EnQueue(Queue*Q,KeyType new_elem)的功能是将元素new—elem加入队尾。
函数DeQueue(Queue*Q,KeyType*elem)的功能使将非空队列的队头元素出队(从队列中删除),并通过参数带回刚出队的元素。
用单向循环链表表示的队列如图4.1所示。
队列及链表结点等相关类型定义如下:
enum{ERROR,OK);
typedef int KeyType;
typedef struct QNode{
KeyType data;
struct QNode *next;
}QNode, *LinkQueue;
typedef struct{
int Size;
LinkQueue rear;
}Queue;
【C函数】
int EnQueue(Queue*Q,KeyType new_elem)
{ //元素new elem入队列
QNode*p;
P=(QNode*)malloc(sizeof(QNode));
if(!P)
return ERROR;
P一>data=new_elem;
if(Q一>rear) {
P一>next=Q=>rear一>next;
(1)_________;
}
e1Se
P一>next=P;
(2)_________;
Q->siZe++;
return OK;
}
int DeQueue(Queue *Q,KeyType*elem)
{ //出队列
QNode*p;
if(0=Q一>size) //是空队列
return ERROR;
P=(3)_________; //令P指向队头元素结点
*elem=P一>data;
Q一>rear->next=(4)_________; //将队头元素结点从链表中去除
if((5)_________) //被删除的队头结点是队列中唯一结点
Q一>rear=NULL; //变成空队列
free(p);
Q一>size一一;
return OK;
}
选项
答案
(1)Q->rear->next=p (2)Q->rear=p (3)Q->rear->next (4)p->next或Q->rear->next->next (5)Q->rear=p或Q->size=1或其等价形式
解析
本题考查数据结构的实现、C程序运算逻辑与指针参数的应用。
队列是先入先出的线性数据结构。元素入队列时需要将其加入队尾,元素出队列时需要将其从队头删除。根据说明,队列采用单向循环链表表示且不设头结点,只设置指向队尾结点的指针。
显然,队列为空时,队尾指针也为空。因此,当队尾指针为空时需要将新结点的指针域设置为指向结点自己,否则,需要通过“Q->rear->next”获得队头元素结点的指针,并将新结点的指针域设置为该值,再将新结点链接在原队尾结点之后,因此空(1)处应填入“Q->rear->next=p”。新元素加入队列后队尾指针就要更新,因此空(2)处应填入“Q->rear=p”。
根据注释,空(3)所在语句需要获得队头元素所在结点的指针并用p表示,即空(3)应填入“Q->rear->next”。空(4)需要完成队头元素的出队列处理,也就是将队头元素的前驱结点的指针域(Q->rear->next)设置为指向队头元素的后继元素结点,表示
为“Q->rear->next=p->next"或“Q->rear->next=Q->rear->next->next”。
进行出队列操作时的特殊情况是队列中唯一的元素被删除,此时需要修正队尾指针,空(5)所在语句即完成此处理,该空应填入“Q->rear=p”或“Q->size=1”。
转载请注明原文地址:https://kaotiyun.com/show/z2jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
(1)是固化在主板ROM内的程序,为计算机提供最底层、最直接的硬件访问和控制。
操作系统的功能不包括______。
在Excel的A1单元格中输入函数“=IF(12,1,2)”,按回车键后,A1单元格中的值为()。
某信息处理技术员正在做大批数据处理的大项目时,领导又交宋了另一项临时性的紧迫工作,要求优先处理。该信息处理技术员需要转而做新的工作,他对原工作的处理方式应该是(69)。
在数据库中能够唯一地标识一个记录被称为______。
数据类型有多种,可以归纳为两大类:字符型数据(不具计算能力)和数值型数据(可直接参与算术运算)。以下数据类型中,________属于数值型数据。
阅读以下说明,回答问题1至问题4。说明某公司A楼高40层,每层高3.3米,同一楼层内任意两个房间最远传输距离不超过90米,A楼和B楼之间距离为500米,需在整个大楼进行综合布线,结构如图1-1所示。为满足公司业务发展的需要,要求为楼内客户机提供数
为什么一般处理“震荡波”病毒时,首先要把被侵入的计算机系统从网络上断开?为了解决“震荡波”病毒利用windows的缓冲区溢出漏洞攻击计算机系统问题,我们采用某防火墙建立一个“关闭445端口”的规则。请给出下列规则配置参数(防火墙规则配置界面如下图所示)
框架在网页布局中主要起什么作用?主页中定义了几个框架,分别显示哪个文档?假设连接的数据记录集当前指向的记录如下:写出以下ASP代码经过IIS服务器解释后的结果。<tdalign-"center"width="20%"><ahref
请根据网页显示的效果图和网页中的元素说明,将HTML文本中(n)处的解答填入对应栏中。[说明]在IE浏览器中输入yoyo电子邮局主页地址并回车后,网页的显示效果如下图所示。[网页中的元素说明]见下表。
随机试题
下列选项中正确的有()
女,35岁,不慎摔倒后左手撑地,手腕部肿胀,活动障碍,鼻烟窝部明显压痛。若急行X片检查未发现骨折,复查X片的最佳时机是
心肌梗死与心绞痛心电图鉴别最有意义的是
施工质量管理体系文件中的程序文件主要包括()。
关于建筑防火分隔的做法中,错误的是()。
倚载向四边支承传递,受力变形成锅底状的为()板。
甲公司2009年年末有关资料如下:(1)资产总额为1000万元,其中经营资产为800万元,金融资产为200万元;(2)负债总额为600万元,其中经营负债占75%。要求针对下列的不同情况分别回答问题:(1)假设2010年年末的
假若城市的教育资源能够在不同学校之间公平分配,那么就不会出现重点学校与普通学校的区别,也不会有一些老师因教育资源的过度聚集而“暴富”。假若教育资源在地域之间得到公平分配,边远地区的山村学校能获得更多的投入,那么,乡村教育就不会如此艰难。这段文字主要
据初步统计,2008年我国全年水资源总量25567亿立方米,比上年减少8.9%,比常年减少7.7%;人均水资源量1945立方米,比上年减少9.3%;全年平均降水量615.5毫米,较上年减少4.5%,比常年减少4.2%。年末全国465座大型水库蓄水总量210
Inflationarypressureisagrowingproblemfortheeconomy.Therefore,thecentralbankdecidestopursueapolicytoreducethe
最新回复
(
0
)