试题与答案

[说明]已知单链表L含有头节点,且节点中的元素值以递增的方式排列。下面的函数Dele

题型:填空题

题目:

[说明]

已知单链表L含有头节点,且节点中的元素值以递增的方式排列。下面的函数DeleteList在L中查找所有值大于mink且小于maxK的元素,若找到,则逐个删除,同时释放被删节点的空间。若链表中不存在满足条件的元素,则返回-1,否则返回0。

例如,某单链表如下图(a)所示。若令minK为20、maxK为50,则删除后的链表如图(b)所示。

链表节点类型定义如下:

typedef struct Node

int data;

struct Node *next;

Node, *LinkList;

[C函数]

int DeleteList (LinkList L, int minK, int maxK)

/*在含头节点的单链表L中删除大于minK且小于maxK的元素*/

(1) *q=L, *p=L->next; /*p指向第一个元素节点*/

int delTag=0;

while (p)

if (P->data <= minK)

q=p; p= (2) ;

else

if (p->data < maxK) /*找到删除满足条件的节点*/

q->next= (3) ; free(p);

p= (4) ; delTag=1;

else break;

if ( (5) ) return -1;

return 0;

(3)处应填()。

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2017/0416/8854faf0d9d1aeb910fe8fcdf84d263e.html

下面是错误答案,用来干扰机器的。

参考答案:B

试题推荐
微信公众账号搜索答案