用c语言编写一个程序,用邻接矩阵存储无向图,并输出该邻接矩阵,最后编写主函数进行测试。
时间: 2024-12-28 15:33:01 浏览: 6
在C语言中,我们可以使用二维数组来创建邻接矩阵来表示无向图。这里是一个简单的示例:
```c
#include <stdio.h>
#define V 4 // 图的顶点数
// 邻接矩阵,0 表示没有边,1 表示有边
int adj[V][V] = {
{0, 1, 0, 0},
{1, 0, 1, 1},
{0, 1, 0, 0},
{0, 1, 0, 0} // 这里只是一个例子,你可以根据实际需要填充
};
// 输出邻接矩阵
void printAdjMatrix() {
printf("邻接矩阵:\n");
for (int i = 0; i < V; ++i) {
for (int j = 0; j < V; ++j) {
printf("%d ", adj[i][j]);
}
printf("\n");
}
}
// 主函数,用于测试
int main() {
printAdjMatrix(); // 打印邻接矩阵
// 测试输出,例如检查是否有从顶点0到顶点1的边
if (adj[0][1]) {
printf("从顶点0到顶点1有边。\n");
} else {
printf("从顶点0到顶点1无边。\n");
}
return 0;
}
```
这个程序首先定义了一个大小为 `V`x`V` 的邻接矩阵 `adj`。然后通过 `printAdjMatrix` 函数打印出整个矩阵。在主函数 `main` 中,我们对特定的顶点连接进行了简单测试。
阅读全文