c - 在c中插入单链表

标签 c pointers struct linked-list

如何在没有任何先前指针的情况下将元素插入到 c 中的单链表中。

例如:我定义了日历和事件结构。两者都是链表。

calendar_1 ----> calendar_2 -----> calendar_3 ----> NULL

每个日历都指向另一个名为 events [calendar->event] 的链接列表:

event_1 ----> event_2 ---> event_3 --- NULL 

假设我想将 event_6 添加到 calendar_1 事件列表的开头(就在 event_1 之前),我该如何编码?

我想我可以这样做:

Event *event_ptr = calendar_1->event;
event_ptr->next = event_6
event_6->next = event_ptr

但我认为这不会起作用。你能告诉我一些如何完成这件事的方法吗?

最佳答案

如果我正确理解了您的要求,以下内容应该可以满足您的需求:

// Put event 6 at the head of the list.
event_6->next = calendar_1->event;
// Update calendar 1 to point at the updated list.
calendar_1->event = event_6;

关于c - 在c中插入单链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26350967/

相关文章:

c - c中的原始输入winapi,无法获取设备信息

C : Printing a pointer to an array seems to print a junk value also

java - 我可以在 Java 中创建一个变量数组吗?

c - 如何正确定义和使用返回类型为用户定义结构的函数? (在 C 中)

c - 读取数组时访问冲突

c++ - 宏函数调用缺少参数警告,即使给定了参数

c++ - 什么是 "Clean C",它与标准 C 有何不同?

delphi - 为什么我不能将过程变量与 nil 进行比较?

c++ - 创建结构的二维数组会导致崩溃

class - 在 Swift 中建模对象