首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
简单队列是符合先进先出规则的数据结构,下面用不含有头结点的单向循环链表表示简单队列。 函数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
73
问题
简单队列是符合先进先出规则的数据结构,下面用不含有头结点的单向循环链表表示简单队列。
函数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://jikaoti.com/ti/e8W7FFFM
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
______不属于企业信息系统存在的问题。
在Excel中,函数“=AVERAGE(A1,.B4)”的含义是()。
在域名地址www.rkb.gov.cn中,“cn”属于______。
计算机使用一段时间后发现,系统启动时间变长,系统响应迟钝,应用程序运行缓慢,为此,需要进行系统优化。系统优化工作不包括___________。
在WindowsXP中,删除某个应用程序在桌面上的快捷方式,则(42)。
下列关于Word绘图功能的叙述中,不正确的是__________。
对同一事物进行多次测量所得的结果可能不一致,这是幽测量误差所致。利用______可使误差基本抵消。
下面记录的是某班36人期末考试的数学成绩:971009596100879610089100936999891008188
综合布线系统由6个子系统组成,将图1-1中(1)~(6)处空缺子系统的名称填写在答题纸对应的解答栏内。考虑性能与价格因素,图1-1中(1)、(2)和(4)中各应采用什么传输介质?
为什么一般处理“震荡波”病毒时,首先要把被侵入的计算机系统从网络上断开?为了解决“震荡波”病毒利用windows的缓冲区溢出漏洞攻击计算机系统问题,我们采用某防火墙建立一个“关闭445端口”的规则。请给出下列规则配置参数(防火墙规则配置界面如下图所示)
随机试题
休克时反映内脏器官灌注情况,简单方便的观察指标是
JK触发器及其输入信号波形如图所示,那么,在t=t0和t=t1时刻,输出Q分别为()。
关于平屋顶排水方式的说法,正确的有()。
背景资料:某高速公路跨线大桥(7×20m+65m+7×20m+5×20m)引桥上部结构为预应力钢筋混凝土箱梁,后张法施工,采用预制吊装施工工艺。预制场布设在桥位附近荒地,地势平坦,承包人根据工期要求设置10个预制台座,预制场整平压实后,浇筑台座混
申请验残鉴定时,报检人需提供( )。
甲公司是一家光伏发电企业。受技术、经济等多种因素影响,光伏发电投资成本居高不下,而同一区域的风力发电企业成本较低,给甲公司的生存和发展带来威胁。更糟糕的是,公司在新建光伏电站时,因不了解当地的实际情况,选址不当,造成运输成本过高,并且破坏生态环境。甲公司面
示范方式有三种:相向示范、围观示范、顺向示范。幼儿动作技能的学习采用()方式较好。
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
甲未经乙许可,将乙的摄影作品《晚年》临摹成一幅相同主题的油画。甲在临摹时,对背景作了细微改动,以之参加比赛并获奖。甲以该油画参赛的行为()。(2013一法专一19)
Identicaltwins:Twoofthesevasesofflowersareidentical.Canyouspotwhichtwo?
最新回复
(
0
)