首页
登录
从业资格
阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【
阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【
最全题库
2022-08-02
76
问题
阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】 函数 GetListElemPtr(LinkList L,int i)的功能是查找含头结点单链表的第i个元素。若找到,则返回指向该结点的指针,否则返回空指针。 函数DelListElem(LinkList L,int i,ElemType *e) 的功能是删除含头结点单链表的第 i个元素结点,若成功则返回 SUCCESS ,并由参数e 带回被删除元素的值,否则返回ERROR 。 例如,某含头结点单链表 L 如图 4-1 (a) 所示,删除第 3 个元素结点后的单链表如 图 4-1 (b) 所示。
#define SUCCESS 0#define ERROR -1 typedef int Status;typedef int ElemType; 链表的结点类型定义如下: typedef struct Node{ ElemType data; struct Node *next;}Node ,*LinkList;【C 代码】LinkList GetListElemPtr(LinkList L ,int i){ /* L是含头结点的单链表的头指针,在该单链表中查找第i个元素结点: 若找到,则返回该元素结点的指针,否则返回NULL*/ LinkList p; int k; /*用于元素结点计数*/ if (i<1 ∣∣ !L ∣∣ !L->next) return NULL; k = 1; P = L->next; / *令p指向第1个元素所在结点*/ while (p && (1) ) { /*查找第i个元素所在结点*/ (2) ; ++k; } return p;} Status DelListElem(LinkList L ,int i ,ElemType *e){ /*在含头结点的单链表L中,删除第i个元素,并由e带回其值*/ LinkList p,q; /*令p指向第i个元素的前驱结点*/ if (i==1) (3) ; else p = GetListElemPtr(L ,i-1); if (!p ∣∣ !p->next) return ERROR; /*不存在第i个元素*/ q = (4) ; /*令q指向待删除的结点*/ p->next = q->next; /*从链表中删除结点*/ (5) ; /*通过参数e带回被删除结点的数据*/ free(q); return SUCCESS;}
选项
答案
解析
(1) k<i(2) p = p->next(3) p=L(4) p->next(5) *e = q->data 本题考查 C 语言的指针应用和运算逻辑。 本问题的图和代码中的注释可提供完成操作的主要信息,在充分理解链表概念的基础上填充空缺的代码。 函数GetListElemPtr(LinkList L,int i)的功能是在L为头指针的链表中查找第 i 个元素,若找到,则返回指向该结点的指针,否则返回空指针。描述查找过程的代码如下,其中k 用于对元素结点进行计数。
上述代码执行时,k 的初始值为1,同时 p 指向第一个元素结点。当找到第 i个元素 结点时,k 应等于 i ,尚未到达第i个结点时,k小于i。因此,空(1)处应填入"k<i" 或其等价形式,使得没有达到第i个结点时继续查找。空 (2)处应填入 "p=p->next", 从而使得指针 p 沿着链表中的结点向第i个结点移动。 函数DelListElem(LinkList L,int i,ElemType*e) 的功能是删除含头结点单链表的第i个元素结点,若成功则返回SUCCESS ,并由参数e 带回被删除元素的值,否则返回ERROR 。 根据注释,空(3)所在语句需要指向第一个结点之前的结点(即头结点),显然此处应填入"p=L"。 空 (4) 所在语句令 q 指向待删除的结点,由于之前已经令 p 指向待删除结点的前驱结点,显然,此空应填入" p->next"。 空 (5) 所在语句通过参数 e 带回被删除结点的数据,由于此时只能通过指针 q 找到 被删除的结点,所以应填入"*e= q->data"。
转载请注明原文地址:https://tihaiku.com/congyezige/2427172.html
本试题收录于:
初级程序员题库软件水平考试初中高级分类
初级程序员
软件水平考试初中高级
相关试题推荐
解答服务对象的健康问题,帮助其澄清观念、做出决策的人际传播形式称为A.咨询B.个
在如下所示的一段XML代码中,根元素名为()。 <?xmlversion="
负责解释执行JavaScript代码的是()。A.Web服务器 B.Web浏览
()不是蠕虫病毒。A.冰河 B.红色代码 C.熊猫烧香 D.爱虫病毒
阅读一下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】
阅读以下说明,回答问题1至问题4,将解答填入对应的解答栏内。 【说明】
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。 【说明】
阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。 【说明】
阅读以下说明,回答问题1至问题4,将答案填入答题纸对应的解答栏内。(注:此题为思
阅读下列说明信息,回答问题1至问题5。将答案填入答题纸对应的解答栏内。 【说明
随机试题
[originaltext]W:Dr.Thomas?ThisisAnnBradleyfromthedailynews.I’dlike
[originaltext]M:Terisa,wherehaveyoubeen?Ididn’tseeyouinthehistoryc
租赁筹资的主要缺点是( )。A.成本高 B.时间长 C.风险大 D.手续
若f(x)、F(x)分别为随机变量X的密度函数、分布函数,则()。A.F(x
讲课作为人际传播的应用过程,有两点讲课准备和PPT设计与制作很重要。关于PPT设
《检验检测机构资质认定评审准则》关于测量不确定度的描述,以下正确的是()。
()对投资组合与基准指数的拟合程度要求不高,因此,经常会出现与基准指数的特征
合规培训与教育在组织方式上可以采取的措施有()。A.视频 B.电话会议培训
流行性脑脊髓膜炎的主要传播途径是A:蚊虫叮咬 B:血液传播 C:呼吸道传播
根据《城乡建设用地竖向规划规范》的规定,城镇中心区用地应选择地质及防洪排涝条件较
最新回复
(
0
)