Status ListDelete(LinkList L, int i, ElemType *e)
{
int j;
LinkList p, q;
p = *L;
j = 1;
while (p->next && j < i) / 遍历寻找第i个元素 /
{
p = p->next;
++j;
}
if (!(p->next) || j > i)
return ERROR; / 第i个元素不存在 /
q = p->next;
p->next = q->next; / 将q的后继赋值给p的后继 /
*e = q->data; / 将q结点中的数据给e /
free(q); / 让系统回收此结点,释放内存 */
return OK;
}
我的疑问是,free(q)后那个结点还存在吗,还是说只是链表中没有了那个结点,内存中还在?