用C语言用邻接矩阵的方式创建一个图
时间: 2024-02-27 13:57:54 浏览: 70
好的,我可以为您提供用C语言实现邻接矩阵创建图的示例代码。
以下是一个简单的示例,展示了如何使用邻接矩阵来表示一个无向图。该图有5个节点和7条边。
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_VERTICES 5
int graph[MAX_VERTICES][MAX_VERTICES] = {
{0, 1, 1, 0, 0},
{1, 0, 1, 1, 1},
{1, 1, 0, 1, 0},
{0, 1, 1, 0, 1},
{0, 1, 0, 1, 0}
};
void printGraph() {
for (int i = 0; i < MAX_VERTICES; i++) {
for (int j = 0; j < MAX_VERTICES; j++) {
printf("%d ", graph[i][j]);
}
printf("\n");
}
}
int main() {
printGraph();
return 0;
}
```
在上面的代码中,我们首先定义了一个大小为MAX_VERTICES x MAX_VERTICES的二维数组graph,用于表示邻接矩阵。然后我们手动设置了每个节点之间的边,如果两个节点之间有边,则对应矩阵中的值为1,否则为0。
在printGraph函数中,我们遍历整个邻接矩阵,并打印出每个元素的值。最后,在main函数中,我们调用printGraph函数来打印出整个图的邻接矩阵表示。
当您运行这段代码时,您将看到以下输出:
```
0 1 1 0 0
1 0 1 1 1
1 1 0 1 0
0 1 1 0 1
0 1 0 1 0
```
这里的每一行和每一列分别代表一个节点,0表示两个节点之间没有边,1表示两个节点之间有边。
阅读全文