typedef struct _Node {
int data;
struct _Node * next;
} NODE;
NODE* delete_list_node(NODE* Head,const int K)
{
NODE* p = (NODE* )malloc(sizeof(NODE));
NODE* q = (NODE* )malloc(sizeof(NODE));
if(NULL == Head)
return NULL;
p = Head;
while(p->data != K && p->next != NULL)
{
q=p;//q指向前一个节点
p=p->next;//p指向当前节点
if(p->data == K)
{
if(p == Head)
{
Head = p->next;
}else
{
q->next = p->next;
}
free(p);
}else
{
printf("链表中未能找到元素为K的节点!\r\n");
}
}
return Head;
}