优客文库提供全面的范文格式和文档模板,包括申请书、合同、借据、证明、求职信等,助力您快速撰写专业文档。

如何使用c语言编写一个程序输出以邻接表为存储结构的无向图的各顶点的度

来自 江西省南昌市 的网友 时间: 热度:°C 加入收藏 我要投稿 点赞()
要使用C语言编写一个程序输出以邻接表为存储结构的无向图的各顶点的度,首先需要定义一个结构体表示图的顶点,然后创建一个数组存储图的顶点。接着,遍历邻接表,计算每个顶点的度。最后,输出各顶点的度。

以下是具体的代码实现:

```c
#include <stdio.h>
#include <stdlib.h>

// 定义顶点结构体
typedef struct Vertex {
int data; // 顶点数据
struct Vertex *next; // 指向下一个顶点的指针
} Vertex;

// 计算顶点的度
int degree(Vertex *vertex) {
int count = 0;
Vertex *temp = vertex->next;
while (temp != NULL) {
count++;
temp = temp->next;
}
return count;
}

int main() {
// 创建图的顶点数组
Vertex vertices[5];

// 初始化顶点数据和邻接表
vertices[0].data = 0;
vertices[0].next = &vertices[1];
vertices[1].data = 1;
vertices[1].next = &vertices[2];
vertices[2].data = 2;
vertices[2].next = &vertices[3];
vertices[3].data = 3;
vertices[3].next = &vertices[4];
vertices[4].data = 4;
vertices[4].next = NULL;

// 输出各顶点的度
for (int i = 0; i < 5; i++) {
printf("顶点%d的度为:%d
", vertices[i].data, degree(&vertices[i]));
}

return 0;
}
```

这个程序首先定义了一个表示顶点的结构体`Vertex`,包含一个整数类型的数据成员`data`和一个指向下一个顶点的指针`next`。然后定义了一个计算顶点度的函数`degree`,通过遍历邻接表来计算顶点的度。在`main`函数中,创建了一个顶点数组`vertices`,并初始化了顶点数据和邻接表。最后,遍历顶点数组,输出各顶点的度。
221381
领取福利

微信扫码领取福利

微信扫码分享