是否可以使用unsigned long
或malloc
将free
插入从最小到最大而没有动态内存的链表中?
答案 0 :(得分:4)
您可以以数组的形式预分配一堆列表条目,然后在执行插入时从该数组中选择条目。这当然只有在数组是全局的时候才有可能,或者在插入操作期间以其他方式保持在范围内。
类似的东西:
struct integerNode {
int value;
struct integerNode *next;
};
struct integerNode nodes[100]; /* adjust for your number of integers */
下一步是使用一个简单的for
循环将nodes
中的项目链接在一起,形成一个免费项目的链接列表。然后编写一个函数,将节点从空闲列表中解除链接,并将其链接到另一个列表,同时插入数字。