假设有三个节点 A→B→C,q指向A,p指向B
你为了将B删掉,就:
如果添加,比如添加D,使得A→D→B→C
则应该t指向D,然后令q->next=t,t->next=p,这样就可以将D插在A和B中间了
本来q->next=p;p->next=p的下一个。相当于,q连起来了p,p又连起来了p的下一个,这是一条链,q->next是q,q->next是p的下一个,q->next=p->next。相当于将q直接连到了p的下一个。这样子q和p就断链了。p的下一个被两个连接,一个是q->next,一个是p->next。最后free(p);相当于释放了p的结点。也就是把p给断掉,释放空间。
q->next=p->next,这个可以画图来理解
希望对题主有所帮助,可以的话,帮忙点个采纳!