zoukankan      html  css  js  c++  java
  • 图--邻接矩阵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;
    }
    坚持比努力更重要
  • 相关阅读:
    vue移动端适配问题
    excel 表格数据转json格式
    常用快捷键
    微信公众号监听返回事件
    总结css常用方法
    封装axios
    初学angular项目中遇到的一些问题
    jquery项目中一些常用方法
    怎样做ie兼容性
    vue事件修饰符
  • 原文地址:https://www.cnblogs.com/dameidi/p/9276372.html
Copyright © 2011-2022 走看看