Status ListDelete(LinkList *L,int i,ElmeType *e)
{
int j;
LinkList p;
p = *L;
j = 1;
while(p&&j<i)
{
p = p->next;//p为第i个位置的next元素;
j++;
}
if(!p&&j>i-1) return ERROR;
q = p->next;
free(q);
p->next = p->next->next;//使p为第i+1位置的next元素;
return OK;
}
你们p既然已经为i+1的next,那为什么要释放第i个节点的内存空间,可以不用free释放节点吗?我感觉不释放的话对链表没有影响啊。
类似的增加新节点用malloc(sizeof(Node))可以不用malloc吗?他可以自动开辟一块内存空间吗?讲的详细点谢谢。