A-A+

假设某个不设头指针的无头结点单向循环链表的长度大于1 S为指向链表中某个结点的指针。算法f3

2022-08-07 16:50:20 问答库 阅读 182 次

问题详情

假设某个不设头指针的无头结点单向循环链表的长度大于1,S为指向链表中某个结点的指针。算法f30的功能是,删除并返回链表中指针S所指结点的前驱。请在空缺处填入合适的内容,使其成为完整的算法。
typedef struct node{
DataType data;
struct node *next;
}*LinkList;
DataType f 30(LinkList s){
LinkList pre,p;
DataType e;
pre=s;
p=s—>next;
while((1) ){
pre=p;
(2) ;
}
pre—>next= (3) ;
e=p—>data;
free(p);
return e;
}请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:1.p—>next!=s2.p=p—>next3.s(或p—>next)
1.p—>next!=s2.p=p—>next3.s(或p—>next)

考点:结点,指针