为什么单链表删除元素老是会错
bool ListDelete(LinkList *&L,int i)
{
int j=0;
LinkList *p=L,*q;
while(j<i-1&&p!=NULL)
{
j++;
p=p->next;
}
if(p=NULL)
return false;
else
{
q=p->next;
if(q=NULL)
return false;
e=q->data;
p->next=q->next;
free(q);
return true;
}
}
void DestroyList(LinkList *&L)
{
LinkList *pre=L,*p=p->next;
while(p!=NULL)
{
free(pre);
pre=p;
p=pre->next;
}
free(pre);
}
[解决办法]
if(p=NULL)时什么节奏?p就一直为NULL了