邻接矩阵创建无向网C语言
时间: 2024-01-10 19:21:26 浏览: 71
C++数据结构以邻接矩阵方式确定有向网.docx
以下是使用C语言创建邻接矩阵表示的无向网的示例代码:
```c
#include <stdio.h>
#define MAX_VERTEX_NUM 100 // 最大顶点数
typedef struct {
int vertex[MAX_VERTEX_NUM]; // 顶点数组
int arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; // 邻接矩阵
int numVertexes; // 顶点数
int numEdges; // 边数
} MGraph;
// 创建无向网的邻接矩阵
void CreateMGraph(MGraph *G) {
int i, j, k, weight;
printf("请输入顶点数和边数:");
scanf("%d %d", &(G->numVertexes), &(G->numEdges));
// 初始化邻接矩阵
for (i = 0; i < G->numVertexes; i++) {
for (j = 0; j < G->numVertexes; j++) {
G->arcs[i][j] = 0;
}
}
// 输入顶点信息
for (i = 0; i < G->numVertexes; i++) {
printf("请输入第%d个顶点的值:", i + 1);
scanf("%d", &(G->vertex[i]));
}
// 输入边的信息
for (k = 0; k < G->numEdges; k++) {
printf("请输入边(vi, vj)的下标i和下标j,以及权值:");
scanf("%d %d %d", &i, &j, &weight);
G->arcs[i][j] = weight;
G->arcs[j][i] = weight; // 无向网的邻接矩阵是对称的
}
}
int main() {
MGraph G;
CreateMGraph(&G);
return 0;
}
```
阅读全文