zoukankan      html  css  js  c++  java
  • 第七十一课 图的定义与操作

     

     

    后面的代码只考虑有向图,因为无向图可以看做一种特殊的有向图。

    添加Graph.h文件:

     1 #ifndef GRAPH_H
     2 #define GRAPH_H
     3 
     4 #include "Object.h"
     5 #include "SharedPointer.h"
     6 #include "Array.h"
     7 
     8 namespace DTLib
     9 {
    10 
    11 template < typename V, typename E >
    12 class Graph : public Object
    13 {
    14 public:
    15     virtual V getVertex(int i) = 0;
    16     virtual bool getVertex(int i, V& value) = 0;
    17     virtual bool setVertex(int i, const V& value) = 0;
    18     virtual SharedPointer< Array<int> > getAdjacent(int i) = 0;
    19     virtual E getEdge(int i, int j, E& value) = 0;
    20     virtual bool setEdge(int i, int j, const E& value) = 0;
    21     virtual bool removeEdge(int i, int j) = 0;
    22     virtual int vCount() = 0;
    23     virtual int eCount() = 0;
    24     virtual int OD(int i) = 0;
    25     virtual int ID(int i) = 0;
    26     virtual int TD(int i)
    27     {
    28         return ID(i) + OD(i);
    29     }
    30 };
    31 
    32 }
    33 
    34 #endif // GRAPH_H

    小结:

  • 相关阅读:
    02_虚拟机参数
    01_java虚拟机基础入门
    03_模板消息
    Redis 实现分布式锁
    01_微信小程序支付
    python产生随机字符串
    输出的编码
    jmeter MD5加密
    vscode 插件推荐
    appium自动化安装(二)
  • 原文地址:https://www.cnblogs.com/wanmeishenghuo/p/9696658.html
Copyright © 2011-2022 走看看