单链表结点的删除(不带头结点)
下面这个只能删除一个节点,如果想把链表中所有等于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; }