首页 > 解决方案 > 关于多个单链表的问题

问题描述

我正在尝试使用列表结构和节点结构创建多个单链表。我在想的是每个新列表都由不同的负责人分开。但是让我困惑的是如何为每个列表初始化一个新的头,然后添加节点?

当我只使用一个列表时,我能够为一个头指针分配内存并将其设置为 NULL,然后添加新节点。

我的结构看起来像这样供参考:

typedef struct node
{
   int value;
   struct node *next;
}node_t;

typedef struct list
{
   struct list *head;
   int size;
}list_t;

如果您觉得我对某些事情不清楚,请询问,我会澄清!谢谢

标签: c

解决方案


在您的列表结构中head,实际上应该是列表node_t中的第一个节点。然后您将通过分配另一个节点来链接node_t节点next

typedef struct node
{
   int value;
   struct node *next;
}node_t;

typedef struct list
{
   node_t *head;
   int size;
}list_t;

简单示例供参考:

node_t node1;
node_t node2;

node1.value = 1;
node1.next = &node2;
node2.value = 1;
node2.next = NULL;

list_t list;
list.head = &node1;
list.size = 2;

推荐阅读