首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
简单队列是符合先进先出规则的数据结构,下面用不含有头结点的单向循环链表表示简单队列。 函数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
93
问题
简单队列是符合先进先出规则的数据结构,下面用不含有头结点的单向循环链表表示简单队列。
函数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
程序员下午应用技术考试
软考初级
相关试题推荐
在PowerPoint中,执行插入新幻灯片的操作后,被插入的幻灯片将出现在(53)。
下列关于操作系统的叙述中,不正确的是______。
在Excel2007中,若在单元格A1中输入函数“=ROUNDUP(3.1415926,2)”,按回车键后,则A1单元格中的值为______。
操作系统的功能不包括______。
某咨询顾问公司派小强统计本市各品牌汽车的占有率,以下4种统计方法中,小强应采用______方法,使估算结果较为可信。
用户为将修改的文档以不同文件名存储,可用______命令。
在Word编辑状态下,移动鼠标至某段左侧,当鼠标光标变成箭头时连击左键3下,结果会选中文档的(45)。
现在,企业数字化转型已是大势所趋。以下关于企业数字化转型的叙述中,不正确的是_________。
从表1-1中为图1-1中(1)~(4)处选择合适设备名称(每个设备限选一次)。表1-2是路由器A上的地址变换表,将图1-2中(8)~(11)处空缺的信息填写在相应的位置。
请根据网页显示的效果图(见图6-3)和网页中的元素说明回答问题。
随机试题
机动车仪表板上(如图所示)亮表示什么?
A.肯定B.很可能C.可能D.可疑E.不可能根据上述依据判断不良反应发生的因果关系时间顺序合理;停药后反应停止;重新用药,反应再现;与已知药物不良反应相符合
雄激素最适合治疗
张某为某市集团公司的保安员(正式员工),2008年8月5日由于擅离职守造成公司部分财物被盗,公司经研究给予张某扣除该月奖金的处罚决定。张某遂产生报复念头,于8月6日晚,乘值夜班之机,将公司的生产用电变压器破坏,使得正常的生产受到了影响。次日公司发觉后遂向市
日期1900年1月20日在Excel系统内部存储的是()。
“国九条”中提出推进资本市场改革开放和稳定发展要遵循的方针是指()。
关于贷款展期的说法,正确的是()。
军休社会工作干预的技巧包括()。
1.01,1.02,2.03,3.05,5.08,()
刘某、张某预谋抢劫,邀周某参加,周某不肯。在刘、张两人的威胁下,周某一同前往,三人路遇一行人,上前要求其交出钱包,该行人不肯,奋起反抗,周某持刀将其砍成重伤后,抢得300元。对于周某在共同犯罪中的作用,表述正确的是()。
最新回复
(
0
)