有关 单向链表 删除的问题?
为什么这个函数删不了输入的第一组数据;其他组数据都正常删除? 请大师指点指点!!!!!
Student *del_1(Student *head,long num)
{
Student *p1,*p2;
p2=p1=head;
if(head==NULL)
{
cout<<" list NULL;"<<endl;
return head;
}
else
{
while(p1->next!=NULL&&p1->number!=num)
{
p2=p1; p1=p1->next;
}
if(p1->next==NULL)
{
if(p1->number==num)
p2->next=NULL;
else
cout<<" sorry!!!!"<<endl;
}
else
{
if(p1==head)
head=p1->next;
else
p2->next=p1->next;
}
}
return head;
}