C 编程:具有邻接表的图的结构和类型定义

C Programming: Structs and typedefs for Graph with adjacency list

typedef struct GraphRep *Graph;
typedef int Vertex;

typedef struct _adjListNode {
Vertex         w;
int         weight;
struct _adjListNode *next;
} adjListNode;

typedef adjListNode* AdjList;

我拥有的头文件具有这些功能,我的任务是使用它从头开始创建邻接列表图,到目前为止我拥有这些:

struct GraphRep{
int nV;                // number of vertices (also == to size of array)
struct AdjList* array; // array where each index is the vertex pointing to a 
                       // list of its adjacent nodes
};

首先,我对如何正确地将邻接表调用到结构数组感到困惑,我不确定 typedef 和结构如何工作得很好。

这也是作业,我主要是想帮助理解代码是做什么的,它是如何链接的。

根据How do I ask and answer homework questions?

提供帮助

提示 1)
确保您熟悉 "linked lists" 的概念,尤其是 "single linked lists"。是本次作业非常重要的工具。
如有必要,请先做一个关于该主题的教程,或者阅读 class material 并重做一些相关的练习作业。
然后在你展示的数据结构中寻找两个链表的例子。

提示 2)
该图将用一个节点列表表示,每个节点都有一个邻接列表。也查看这些条款。
请注意,每个列表的长度都是未知的,这会改变每个新图形的长度。所以固定长度的数组没有帮助。对于每个节点,您需要能够命名任意数量的相邻其他节点。而且您需要能够使用任意数量的节点。

提示 3)
将 1) 和 2) 放在一起。如何使用 1) 中的工具解决 2)?