c - 使用 C 实现列表时,我试图删除第一个元素并保留列表的其余部分
问题描述
所以我有这样的
struct NODE{
int val;
struct NODE *next;
} *list_head;
3 个节点已正确插入到列表中。我想删除第一个
我试过了
list_head->next = list_head;
和
list_head->next = list_head->next->next;
我做错了吗?或者他们是对的,这不是问题?
解决方案
那将是:
// NODE previous_head = list_head;
list_head = list_head->next;
// free(previous_head);
基本上,您将头部替换为第二个节点。如果需要,取消分配资源。
推荐阅读
- c# - 为什么我的方法从 Page_Load() 被调用两次(或更多)
- html - CSS 使表格高度相等,包括拉伸它们的行跨度垂直标题?
- javascript - 如何读取嵌入到 html 中的 PDF 文件?使用java进行硒测试
- java - 无法将 javafx 应用程序连接到 mysql 数据库
- javascript - JSHint 抑制可选链接的错误
- java - Java 错误:不兼容的类型:不存在类型变量 T 的实例,因此可选
符合 Iterable - java - SpringBoot中AuthenticationSuccessHandler中服务的字段注入
- powershell - PowerShell 脚本消耗所有内存并导致服务器崩溃
- sql - 如何找到具有相同列但不同值的两个表之间的差异?
- r - RVest 抓取数据和图片标题