首页
登录
从业资格
阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【
阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【
最全题库
2022-08-02
63
问题
阅读以下说明和 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。将答案填入答题纸对应的解答栏内。 【说明
随机试题
A.sufficientB.marginsC.nearlyD.barelyE.a
[originaltext]Formanyyears,peopleinAmericancitieshavedependedonfa
()名家()用汉语交流[br]()科技博览()名人访谈Q、E
A.项痈 B.瘰疬 C.颈瘘 D.项强 E.瘿瘤肺肾阴虚,虚火内灼,炼液
狂犬病毒主要侵犯A.神经组织 B.肺组织 C.肠黏膜上皮细胞 D.
有关妊娠妇女针刺注意事项的叙述,不正确的是A:孕期不可以针刺三阴交、合谷 B:
简述现代企业人力资源管理各个历史发展阶段的特点。
招标人规定投标文件递交地点时,比较适当的是()。A.与招标文件规定的地点一致
甲到乙商场购物,乙商场怀疑甲偷了商场的东西,于是将甲叫到总经理办公室进行搜身,结
《固体废物污染环境防治法》规定,在国务院和国务院有关主管部门及省、自治区、直辖市
最新回复
(
0
)