单向链表的删除子函数的一个问题
如果把p = pHead改成 p=pHead->pNext,再把下面的p->pNext换成p,为什么最后就不对了呢?求大神解答啊bool delete_list(PNODE pHead, int pos, int *pVal)
{
int i = 0;
PNODE p = pHead;
while (p ->pNext != NULL && i< pos-1)
{
i++;
p = p->pNext;
}
if (p ->pNext == NULL || i>pos-1)
{
return false;
}
PNODE q = p->pNext;
*pVal = q->data;
p->pNext = p->pNext->pNext;
free(q);
return true;
}
页:
[1]