在用c语言实现添加顶点操作 基于上述的代码
时间: 2024-04-12 14:26:55 浏览: 50
使用C语言实现
要在上述的C语言代码中添加"添加顶点"的操作,你可以进行以下修改:
1. 在`struct Graph`中添加一个成员变量`int numVertices`,用于记录图中顶点的数量。
```c
struct Graph {
int numVertices;
int adjacencyMatrix[MAX_VERTICES][MAX_VERTICES];
};
```
2. 修改`initGraph`函数,将顶点数量初始化为0。
```c
void initGraph(struct Graph* graph) {
graph->numVertices = 0;
// 初始化邻接矩阵
for (int i = 0; i < MAX_VERTICES; i++) {
for (int j = 0; j < MAX_VERTICES; j++) {
graph->adjacencyMatrix[i][j] = 0;
}
}
}
```
3. 添加一个新的函数`addVertex`,用于添加顶点。
```c
void addVertex(struct Graph* graph) {
if (graph->numVertices < MAX_VERTICES) {
// 将顶点数量加1
graph->numVertices++;
} else {
printf("图已达到最大顶点数量!\n");
return;
}
}
```
4. 在`main`函数中添加对`addVertex`函数的调用,以添加顶点。
```c
int main() {
struct Graph graph;
int numVertices = 4;
initGraph(&graph);
// 添加边
addEdge(&graph, 0, 1);
addEdge(&graph, 1, 2);
addEdge(&graph, 2, 3);
addEdge(&graph, 3, 0);
printf("原始图:\n");
printGraph(&graph);
// 添加顶点
addVertex(&graph);
printf("\n添加顶点后的图:\n");
printGraph(&graph);
return 0;
}
```
执行上述代码后,将会输出如下结果:
```
原始图:
0: 1 3
1: 0 2
2: 1 3
3: 0 2
添加顶点后的图:
0: 1 3
1: 0 2
2: 1 3
3: 0 2
4:
```
从结果中可以看出,已成功添加一个新的顶点,并在邻接矩阵中增加了一行和一列来表示该顶点与其他顶点的连接关系。
阅读全文