首页
登录
从业资格
阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【
阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【
最全题库
2022-08-02
66
问题
阅读以下说明和 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。将答案填入答题纸对应的解答栏内。 【说明
随机试题
TheGrandCanyon,carvedbytheColoradoRiver,innorthwestern______isoneofn
[originaltext]W:We’veallheardthesayingLaughteristhebestmedicine.How
Thenormalhumandailycycleofactivityisofsome7-8hours’sleepalterna
ThisorganizationbroughtWesternartiststogetherinthehopeofmakingmoreof
进行乡镇企业、乡村公共设施和公益事业建设以及农村村民住宅建设,确需占用农用地的在
产品质量担保责任制度是依据《产品质量法》、《消费者权益保护法》等法律建立的产品
我只不过是替他()了几句,说明了事实的真相。 A.辩护B.辩解 C.辩白
某公司息税前利润为500万元,债务资金200万元(账面价值),平均债务税后利息率
关于在制品定额法的说法,正确的有()。A.在制品定额法也叫连锁计算法 B.
(2021年真题)下列各项中,关于会计账簿分类的表述正确的是()。A.按照外
最新回复
(
0
)