我正在使用邻接列表创建图。
typedef struct node
{
struct node *next;
int value;
int to;
} node;
typedef struct bag
{
node *first;
int size;
} bag;
node
是图形中的每个边,而bag
是顶点的所有相邻边的列表。我想创建一个数据结构
Adjacency List
,以使列表是bag *
的数组。像这样-
bag **adjacency_list;
但是我对如何初始化
adjacency_list
感到困惑。我希望我的
adjacency_list's
大小等于顶点数量,并在将来需要时可以添加更多顶点。如果我初始化如下-
adjacency_list = malloc(no_vert * sizeof(*adjacency_list));
如何为每个顶点添加相应的包(边)?
最佳答案
如果需要链表,则不需要双指针。即定义bag * adjacency_list;
。
关于c - 如何声明结构指针的动态数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27144403/