【发布时间】:2013-07-23 01:26:56
【问题描述】:
我在 c 中使用链表,但我的程序实际上同时需要大量链表,所以当我想添加一个新节点时,我必须确定应该添加到哪个列表,我有一个函数它返回要添加的所需列表的头部,但我有点困惑我应该如何编写“add_node”函数,因为头节点每次都不相同,我不想使用“switch case”,因为会很长... 提前致谢
void add_it(int *array)
{
head=which_head(array);
curr = malloc(sizeof (node));
memcpy(curr->nconn, array, sizeof (curr->nconn));
curr->next = ?????????;
???????=curr
}
【问题讨论】:
-
除了
array之外,您的变量都没有任何类型。 -
为什么不将所有链表一起放在一个数组中,并使用which_head函数来确定将新节点放入数组的哪个链表呢?它更像是一个带有链接的哈希图,尽管 which_head 是某种哈希函数。除非所有的链表都不同,否则别介意我的建议
标签: c linked-list