微博降权的规则:删除节点(链表)

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 18:59:31
person *current1 , *current2 ;
current2 = current1 -> next ;
free ( current1 -> next );
current1 -> next = current2 -> next ;
哪位学友可以解释一下

current2 = current1 -> next ; //c2指向c1的下一个节点
free ( current1 -> next );//释放c1的下一个节点
current1 -> next = current2 -> next ;//把c1的下一个节点指针指向c2的下一个节点(其实就是c1的下一个的下一个)
这样完成删除c1->next的操作

问题是和LZ上一个问题一样的,不安全,主要是free()在前,如果按下面的就比较安全了:

c2=c1->next //c2=要删除的节点
c1->next=c2->next //c1的下一个指针指向要删除的下一个指针,完成把删除节点从链里面脱下的过程
free(c2) //释放要删除的节点即可