69,370
社区成员
发帖
与我相关
我的任务
分享
void d_list(pnum head, int a) //int a 接收删除指定的节点
{
pnum p;
pnum q; //用于指向需要删除的节点
p = head; //接收传过来的首节点
while (NULL != p->next)
{
if (p->next->a == a)
{
q = p->next;
p->next = q->next;
free(q);
q = NULL;
}
else
p = p->next;
}
}
int main(void)
{
int a;
while (1 == scanf("%d",&a))
{
pnum p;
p = c_list(); //创建链表,并将链表首节点赋给P
s_list(p); //输出链表
d_list(p, a); //删除链表(删除值为2的节点)
s_list(p); // 输出链表
}
return 0;
}