c语言,以邻接矩阵形式创建一个无向图
时间: 2023-11-07 11:07:10 浏览: 100
数据结构-c语言-带main函数-图7.2-图的存储结构-图的邻接矩阵的创建-无向图。
以下是使用邻接矩阵形式创建一个无向图的C代码示例:
```c
#include <stdio.h>
#define MAX_VERTICES 100 // 最大顶点数
int adj_matrix[MAX_VERTICES][MAX_VERTICES]; // 邻接矩阵
int main() {
int num_vertices, num_edges;
printf("请输入顶点数和边数:");
scanf("%d %d", &num_vertices, &num_edges);
// 将邻接矩阵初始化为0
for (int i = 0; i < num_vertices; i++) {
for (int j = 0; j < num_vertices; j++) {
adj_matrix[i][j] = 0;
}
}
// 读入每条边并在邻接矩阵中标记
printf("请输入每条边连接的两个顶点的编号:\n");
for (int i = 0; i < num_edges; i++) {
int u, v;
scanf("%d %d", &u, &v);
adj_matrix[u][v] = adj_matrix[v][u] = 1; // 标记为相邻顶点
}
// 输出邻接矩阵
printf("邻接矩阵为:\n");
for (int i = 0; i < num_vertices; i++) {
for (int j = 0; j < num_vertices; j++) {
printf("%d ", adj_matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
使用示例:
```
请输入顶点数和边数:5 7
请输入每条边连接的两个顶点的编号:
0 1
0 2
0 3
1 2
1 4
2 3
3 4
邻接矩阵为:
0 1 1 1 0
1 0 1 0 1
1 1 0 1 0
1 0 1 0 1
0 1 0 1 0
```
阅读全文