C编程:具有邻接列表的Graph的Structs和typedef

时间:2018-05-30 06:32:25

标签: c graph 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
};

首先,我对如何正确地将邻接列表调用到struct数组感到困惑,我不知道如何键入def和结构很好。

这也是家庭作业,我主要想要帮助了解代码在做什么,如何链接。

1 个答案:

答案 0 :(得分:0)

根据How do I ask and answer homework questions?提供帮助

提示1)
确保您对"链接列表",特别是"单个链接列表"的概念很有帮助。这是这项任务的一个非常重要的工具 如有必要,首先要做一个关于该主题的教程,或者在课程资料中阅读并重做一些练习作业。
然后在您显示的数据结构中查找链接列表的两个示例。

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

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