正則分析的程序实现.docVIP

  • 3
  • 0
  • 约1.48万字
  • 约 17页
  • 2017-01-14 发布于重庆
  • 举报
正則分析的程序实现

#includeiostream #includestack #includevector using namespace std; int NFASNum;//NFA状态数 vectorint* rec; string str2; int Accept[100]={0}; //边类 class Edge { public: int num; int pos; char weight; Edge *next; public: Edge() { num = -1; pos = -1; next = NULL; } Edge(int Num, int Pos, char ch) { num= Num; pos = Pos; weight = ch; next = NULL; } }; // 顶点类 class Vertex { public: int vnum; Vertex *next; Edge *out; public: Vertex() { vnum = -1; next = NULL; out = NULL; } Vertex(int num) { vnum = num; next = NULL; out = NULL; } }; //邻接表类 class AdjacentT { private: Vertex *Start; int NumV; int NumE; public: AdjacentT() { NumV = 1; NumE = 0; Start = new Vertex(); } ~AdjacentT() { Vertex *V; Edge *E; V = Start; for (int i=0; iNumV; i++) { E = V-out; while (E) { V-out = E-next; delete E; E = V-out; } V = V-next; } } int Getval(int pos)//得到顶点值 { Vertex *V = Start; for (int i=0; ipos; i++) { V = V-next; } return V-vnum; } int Getpos(int val)//得到顶点位置 { Vertex *V = Start; int temp=-1; for (int i=0; iNumV; i++) { if (V-vnum == val) { temp=i; break; } V = V-next; } return temp; } char Getwei_pos(int v1, int v2)//得到边权值 { char ch=$; Vertex *V = Start; for (int i=0; iv1; i++) { V = V-next; }

文档评论(0)

1亿VIP精品文档

相关文档