当前位置: 首页 > news >正文

软考程序员2017年上半年链表案例题解答

阅读以下说明和C 函数,填补函数中的空缺,将解答填入答题纸的对应栏内。【说明】
简单队列是符合先进先出规则的数据结构,下面用不含有头结点的单向循环链表表示简单队列。
函数EnQueue(Queue *Q, KeyType new_elem) 的功能是将元素new_elem加入队尾。
函数DnQueue(Queue *Q,KeyType *ele m)的功能使将非空队列的队头元素出队(从队列中删除),并通过参数带回刚出队的元素。
用单向循环链表表示的队列如图4-1所示。


图4-1单向循环链表表示的队列示意图队列及链表结点等相关类型定义如下:


【C函数】

enum{ERROR, OK};
typedef int KeyType;typedef struct QNode{KeyType data;Struct QNode*next;}QNode,*LinkQueue;Typedef struct{int size;Link:Queue rear;}Queue;int EnQueue(Queue*Q,KeyType new_ele m){//元素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);}else{p->next=p;}(2);Q->size++;return OK;}int DeQueue(Queue*Q,KeyType*elem){ //出队列QNode*p;If(0==Q->size)//是空队列{Return ERROR;}//令p指向队头元p= (3 );素结点*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

(5)Q→rear==p 或 Q→rear→next==p或p →next==p 或Q→size==1

所属知识点:

C程序设计>C程序设计

解析

本题考查C语言指针与链表的知识,为入队列和删除队列问题。

对于入队列,那么当队列Q不为空时,P的队尾t要指向原Q的队尾指向的元素,即:P->n ext=Q->rear->next,Q的队尾要指向p,即:Q→rear→next=p。当队列Q为空时,插入p元素,则p的队尾指向p自身,即: p→next=p,且整个队列Q的队尾也是p,即:Q →rear=p。

对于队列删除元素p,先判断Q是否为空,为空队列则返回 ERROR;

If(0==q->size)//是空队列

Return ERROR;

另p指向队头元素结点,队头元素结点可用Q →rear→next表示。此时,p转化为头结点,p出列,则需要Q的队尾指向p的下一个元素,因此第4空填: p→next。

最后,判断被删除的队头结点是否是队列中的唯一结点,可采用:Q→rear==p 或 Q→r ear→next==p或p→next==p或Q→size==1等表示方法。

http://www.dtcms.com/a/615602.html

相关文章:

  • 展览设计网站推荐国内建筑网站
  • 郑州建设电商网站网站建设中企动力强
  • 企业网站设计策划沈阳世纪兴网站制作公司
  • 网站格局济源网站建设价格
  • 怎么说服客户做网站网站制作前期
  • 蓬莱做网站公司室内装修设计软件培训
  • 网站建设代理哪个好长沙短视频代运营公司
  • 41_FastMCP 2.x 中文文档之FastMCP客户端认证:Bearer 令牌认证详解
  • 专题学习网站开发流程诚信通国际网站怎么做
  • 自已电脑做网站c2c的典型代表有哪些
  • 成都企业网站优化营销4p
  • 网站建设优化推广杭州贵州省交通建设集团网站
  • 做淘宝美工需要知道的网站建筑设计说明万能模板
  • 建设银行招生网站搜索引擎优化管理实验报告
  • js特效网站模板下载辽宁官方网站做辣白菜
  • 网站建设初期wordpress+并发量
  • 网站建设人员叫什么科目北京seo运营
  • 隆昌网站建设网站开发工作内容
  • 配方机制(2)
  • 什么样的网站是一个成功的网站汕头集团做网站方案
  • 网站管理系统源码青岛外贸建设网站制作
  • 石家庄网站制作系统手机网页游戏排行榜2021前十名
  • 做网站需要花费那方面的钱wordpress 发布文章sql
  • 教育网站 模板自助建站平台便宜
  • 如何做网站 百度经验网站 扩展
  • 介绍自己的做的网站吗企业网站推广费用
  • 阿里建站服务建设网站的网站是什么
  • 【每天一个AI小知识】:什么是决策树?
  • 基于百度地图的网站开发黄骅港邮政编码
  • 影视网站的设计与实现洮南网站