单链表结点的删除(不带头结点)
下面这个只能删除一个节点,如果想把链表中所有等于m的节点删除应该怎么改?
程序代码:struct ListNode *deletem( struct ListNode *L, int m )
{
struct ListNode *p;
struct ListNode *pre;
pre=L;
p=pre->next;
if(pre->data==m)
{
L=p;
free(pre);
}
while(p!=NULL)
{
if(p->data==m)
{
pre->next=p->next;
free(p);
p->next=NULL;
}
pre=pre->next;
p=p->next;
}
return L;
}









