没有malloc的C中的链表

时间:2015-05-08 06:02:39

标签: c linked-list malloc free

是否可以使用unsigned longmallocfree插入从最小到最大而没有动态内存的链表中?

1 个答案:

答案 0 :(得分:4)

您可以以数组的形式预分配一堆列表条目,然后在执行插入时从该数组中选择条目。这当然只有在数组是全局的时候才有可能,或者在插入操作期间以其他方式保持在范围内。

类似的东西:

struct integerNode {
  int                value;
  struct integerNode *next;
};

struct integerNode nodes[100]; /* adjust for your number of integers */

下一步是使用一个简单的for循环将nodes中的项目链接在一起,形成一个免费项目的链接列表。然后编写一个函数,将节点从空闲列表中解除链接,并将其链接到另一个列表,同时插入数字。