问题描述
- 关于链表中元素的删除
-
*data = element->next->data;old_element = element->next;
element->next = element->next->next;
该怎么理解这三条语句?
解决方案
第一句和删除没有关系,只是获取了将要删除节点的data值,存入*data
第二句是获得将要删除的节点,最后应该使用free(old__element); 或者其他具体语言的函数来释放内存
第三句就是删除节点了,将element的next指针从old_element 指向了新的节点,即old_element的下一个节点。就像车链子,把其中一小节扔掉,扔掉的方法就是把要扔掉部分的首尾相接就可以了。
解决方案二:
保存删除的数据,和指针,后面在需要的时候使用,
最后一行就是把下一个节点给前一个节点
时间: 2024-09-13 04:17:44