#include<iostream> #define MAX_verts 20 using namespace std; class Vertex { public: Vertex(char lab){ Label = lab; } private: char Label; }; class Graph { private: Vertex * vertexList[MAX_verts]; int nVerts; int adjMat[MAX_verts][MAX_verts]; public: Graph(); ~Graph(); void addVertex(char lab); void addEdge(int start, int end); void printMatric(); }; Graph::Graph() { nVerts = 0; for (int i = 0; i < MAX_verts; i++) { for (int j = 0; j < MAX_verts; j++) { adjMat[i][j] = 0; } } } Graph::~Graph() { for (int i = 0; i < nVerts; i++) { delete vertexList[i]; } } void Graph::addVertex(char lab) { vertexList[nVerts++] = new Vertex(lab); } void Graph::addEdge(int start, int end) { adjMat[start][end] = 1; adjMat[end][start] = 1; } void Graph::printMatric() { for (int i = 0; i < nVerts; i++) { for (int j = 0; j < nVerts; j++) { cout << adjMat[i][j] << " "; } cout << endl; } } int main() { Graph g; g.addVertex('A'); g.addVertex('B'); g.addVertex('C'); g.addVertex('D'); g.addVertex('E'); g.addEdge(0,1); g.addEdge(0,3); g.addEdge(3,4); g.addEdge(1,4); g.addEdge(2,4); g.printMatric(); system("pause"); return 0; }
图--邻接矩阵c++
坚持比努力更重要