是否可以在没有动态内存的情况下,使用malloc
或free
将unsigned long
插入到没有动态内存的链表中?
您可以以数组的形式预先分配一堆列表条目,然后在插入时从该数组中选取条目。当然,这只有在数组是全局的,或者在插入操作期间保持在范围内的时才有可能。
像这样:
struct integerNode {
int value;
struct integerNode *next;
};
struct integerNode nodes[100]; /* adjust for your number of integers */
下一步是使用一个简单的for
循环将nodes
中的项目链接在一起,形成免费项目的链接列表。然后编写一个函数,将节点与空闲列表取消链接,并将其链接到另一个列表,同时插入数字。