删除无头单链表中的节点

xiaoxiao2021-02-28  133

首先链表是单向链表且不知道head在哪。已知要删除的节点指针是p,若p->next=NULL,则直接delete p即可。若p->next不为空,即它后边还有数据,我们直接删除会导致该链表一分为二。为了避免这种情况我们需要将p->next的内容复制到p中,将p->next指向p->next->next,然后删除p->next即可间接的删除了p。

if(p->next==NULL) { p=NULL; } else { Note *temp=p->next; strncpy(p->date,p->next->date,strlen(p->next->date)); p->next=p->next->next; temp=NULL; }

转载请注明原文地址: https://www.6miu.com/read-30710.html

最新回复(0)