C语言用邻接矩阵实现六个顶点十条边的图的全代码
时间: 2024-03-19 15:42:22 浏览: 170
以下是C语言用邻接矩阵实现六个顶点十条边的图的完整代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define V 6
void addEdge(int graph[][V], int src, int dest) {
// Add edge from src to dest
graph[src][dest] = 1;
// Add edge from dest to src
graph[dest][src] = 1;
}
void printGraph(int graph[][V]) {
int i, j;
for (i = 0; i < V; i++) {
for (j = 0; j < V; j++) {
printf("%d ", graph[i][j]);
}
printf("\n");
}
}
int main() {
int graph[V][V] = { {0, 0, 0, 0, 0, 0},
{0, 0, 1, 1, 0, 1},
{0, 1, 0, 1, 1, 0},
{0, 1, 1, 0, 1, 1},
{0, 0, 1, 1, 0, 1},
{0, 1, 0, 1, 1, 0} };
addEdge(graph, 0, 1);
addEdge(graph, 0, 2);
addEdge(graph, 1, 2);
addEdge(graph, 1, 3);
addEdge(graph, 2, 3);
addEdge(graph, 3, 4);
addEdge(graph, 4, 5);
addEdge(graph, 3, 5);
addEdge(graph, 1, 5);
addEdge(graph, 2, 4);
printGraph(graph);
return 0;
}
```
这段代码创建了一个有6个顶点和10条边的图,并且用邻接矩阵来表示它。我们使用一个二维数组`graph`来存储矩阵,其中`graph[i][j]`表示从顶点`i`到顶点`j`是否有边。函数`addEdge()`用于添加边,它将`graph[src][dest]`和`graph[dest][src]`的值都设置为1。在`main()`函数中,我们创建了一个包含10条边的图,并打印了它的邻接矩阵表示。函数`printGraph()`用于打印矩阵,它遍历整个数组并打印每个元素。
阅读全文