MCPcopy Create free account
hub / github.com/Linloir/GraphBuilder / AbstractGraph

Class AbstractGraph

graph_implement.h:19–61  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17};
18
19class AbstractGraph{
20protected:
21 int type;
22 int vexNum = 0;
23
24public:
25 enum { UDG = 1, DG = 2 };
26
27 AbstractGraph(int _type = DG) : type(_type){}
28 virtual ~AbstractGraph() = 0;
29 /* Insert */
30 virtual void AddVex(MyGraphicsVexItem *gvex) = 0;
31 virtual void AddVex(VexInfo *info) = 0;
32 virtual void AddArc(MyGraphicsLineItem *garc, int weight = 1) = 0;
33
34 /* Delete */
35 virtual void DelVex(MyGraphicsVexItem *gvex) = 0;
36 virtual void DelVex(int vexID) = 0;
37 virtual void DelArc(MyGraphicsLineItem *garc) = 0;
38 virtual void DelArc(int sVexID, int eVexID) = 0;
39
40 /* Find */
41 virtual int GetIdOf(MyGraphicsVexItem *gvex) = 0;
42 virtual VexInfo* GetInfoOf(int id) = 0;
43 virtual VexInfo* GetInfoOf(MyGraphicsVexItem *gvex) = 0;
44
45 /* Modify */
46 //virtual void SetText(MyGraphicsVexItem *gvex);
47 virtual void SetWeight(MyGraphicsLineItem *garc, int weight) = 0;
48 virtual void ConvertType(int _type) = 0;
49
50 /* Other Function */
51 virtual void ClearVisit() = 0;
52 virtual void ResetDistance() = 0;
53 virtual void DFS(int strtID, bool generateForest = false) = 0;
54 virtual void DFS(MyGraphicsVexItem *strtVex, bool generateForest = false) = 0;
55 virtual void BFS(int strtID, bool generateForest = false) = 0;
56 virtual void BFS(MyGraphicsVexItem *strtVex, bool generateForest = false) = 0;
57 virtual void Dijkstra(int strtID) = 0;
58 virtual void Dijkstra(MyGraphicsVexItem *strtVex) = 0;
59
60 virtual int Type() const = 0;
61};
62
63class ALVex;
64class ALArc;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected