首页 > 解决方案 > 使用 C 实现列表时,我试图删除第一个元素并保留列表的其余部分

问题描述

所以我有这样的

struct NODE{ 

    int val;

    struct NODE *next; 

} *list_head;

3 个节点已正确插入到列表中。我想删除第一个

我试过了

list_head->next = list_head;

list_head->next = list_head->next->next;

我做错了吗?或者他们是对的,这不是问题?

标签: c

解决方案


那将是:

// NODE previous_head = list_head;
list_head = list_head->next;
// free(previous_head);

基本上,您将头部替换为第二个节点。如果需要,取消分配资源。


推荐阅读