使用邻接矩阵表示法创建无向图以及部分操作 😎💻
发布时间:2025-03-04 06:03:03 编辑:宣舒杰 来源:
在这个教程中,我们将探索如何利用邻接矩阵来创建一个无向图,并实现一些基本的操作。邻接矩阵是一种非常直观且易于理解的方式来表示图的数据结构。它通过一个二维数组来存储节点之间的连接情况。对于无向图来说,如果两个节点之间有边相连,那么在邻接矩阵中对应的两个位置将被标记为1;反之,则为0。
首先,我们需要定义一个类来表示这个图。在这个类中,我们可以定义一个二维数组来作为邻接矩阵。此外,我们还需要一个成员函数来初始化这个矩阵,以及另一个成员函数来添加边。我们还可以定义一些其他的功能,比如计算图中节点的数量,检查两个节点是否直接相连等。
接下来,让我们来看看具体的代码实现:
```cpp
include
using namespace std;
class Graph {
int numVertices; // 节点数量
int adjMatrix; // 邻接矩阵
public:
Graph(int vertices);
void addEdge(int src, int dest);
bool isEdge(int src, int dest);
};
Graph::Graph(int vertices) {
numVertices = vertices;
adjMatrix = new int[vertices];
for (int i=0; i adjMatrix[i] = new int[vertices]; for (int j=0; j adjMatrix[i][j] = 0; } } void Graph::addEdge(int src, int dest) { if (src >= numVertices || dest >= numVertices) return; adjMatrix[src][dest] = 1; adjMatrix[dest][src] = 1; // 由于是无向图,所以需要双向设置 } bool Graph::isEdge(int src, int dest) { if (src >= numVertices || dest >= numVertices) return false; return (adjMatrix[src][dest] == 1); } ``` 通过以上代码,我们可以创建一个无向图,并可以添加边和检查两个节点是否直接相连。希望这个简短的介绍对你有所帮助!🚀
上一篇: App Inventor学习环境搭建😊
下一篇:任务管理器peeradapter.exe进程关闭?进程方法🔍🛠️