一个简单链表操作,帮忙看一下
有一个无头结点的单链表中,删除任意结点*P,
某教材上采用如此算法:将*P之后结点的DATA域值复制到*P结点中,然后删除*P之后的结点。并用C实现:
q=p->next;p->data=p->next->data;p->next=q->next->next;free(q);
我觉得是不是应该把p->next=q->next->next改成p->next=p->next->next才对,
另外是不是此算法可以这样实现:
q=p->next;p->data=q->data;p->next=q->next;free(q);