首页

全部题库

问答题 案例分析题
阅读以下说明和C函数,将应填入____处的语句或语句成分写在答题纸的对应栏内。 已知单链表L含有头节点,且节点中的

阅读以下说明和C函数,将应填入____处的语句或语句成分写在答题纸的对应栏内。
已知单链表L含有头节点,且节点中的元素值以递增的方式排列。下面的函数DeleteList在L中查找所有值大于minK且小于maxK的元素,若找到,则逐个删除,同时释放被删节点的空间。若链表中不存在满足条件的元素,则返回-1,否则返回0。例如,某单链表如图11-3所示。若令minK为20,maxK为50,则删除后的链表如图11-4所示。

链表节点类型定义如下:
【C函数】

收藏 笔记 举报

正确答案:

(1)Node*p,*q(2)p->next(3)p->next(4)q->next(5)deITag==0

本题解析:

序的目的是删除链表中大于20和小于50的数。首先p,q是首次出现,必须先定义,所以(1)中应填"Node*p,*q"。节点p,q中,q指向所删节点的前驱,p指向所删节点。如果,p所指节点的数据大于minK,则p,q点同时后移,即(2)填"p->next"。如果p所指节点的数据同时又小于maxK,则删除该节点。q直接连接p后面的节点,即(3)填"p->next"。当节点删除完成后,p依然指向q的后面节点,因此(4)填"q->next"。题中要求若链表中不存在满足条件的元素,则返回-1。deITag是时候对链表进行删除的标志。因此如果链表不存在满足条件的元素,delTag为0,因此,(5)中应填"delTag==0"。

包含此试题的题库