有向图采用邻接表为存储结构,编写算法Degree,计算各个顶点的入度和出度,结果分别存放在数组inDegree和outDegree中。 typedef struct eNode{ int adjVex; struct eNode *nextarc; }ENode; typedef struct lGraph{ int n; int e; ENode **a; }LGraph; void Degree(int *inDegree , int *outDegree ,LGraph *g) { }
时间: 2024-02-14 18:06:54 浏览: 116
AOV网络及其邻接表表示-数据结构导论中第5章 图课件
算法Degree的实现如下:
```c++
void Degree(int *inDegree , int *outDegree ,LGraph *g)
{
// 初始化入度和出度数组
for (int i = 0; i < g->n; i++) {
inDegree[i] = 0;
outDegree[i] = 0;
}
// 遍历邻接表,统计入度和出度
for (int i = 0; i < g->n; i++) {
ENode *p = g->a[i];
while (p != NULL) {
outDegree[i]++;
inDegree[p->adjVex]++;
p = p->nextarc;
}
}
}
```
首先初始化入度和出度数组,然后遍历邻接表,对于每个顶点,遍历其邻接表,统计其出度和邻接点的入度。遍历完成后,inDegree和outDegree数组分别存放了各个顶点的入度和出度。
阅读全文