图--邻接矩阵c++

#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;
}
坚持比努力更重要
原文地址:https://www.cnblogs.com/dameidi/p/9276372.html