📄 dfa_dfamin.h
字号:
#ifndef DFA_DFAMIN_H
#define DFA_DFAMIN_H
#include<iostream>
#include<map>
#include<vector>
#include<deque>
#include<set>
#include "Z_nfa.h"
using namespace std;
struct link
{
int state;
link* next;
};
class DFA_DFAmin : public Z_nfa
{
private:
set<int> minDFAend ;
int minDFAstart;
int DFAstart;
set<int> DFAend;
map<int ,wedge* >DFA; // 确定有穷自动机的图
map< set<int>, int > set_int; // 把集合重新定义为一个状态的字典
map<int,wedge* > minDFA;
set <char> opnum; // 用来存操作数的,也就是字母表
int DFAstatenum;
int minDFAstatenum;
deque <set<int> > mydeque; //状态分组,每个组是一个集合,用来存等价组的
int map_map(); // 用来实现 map<int ,wedge* > NFA到minDFA之间的深复制
int solve_DFA();
int displayDFA();
int solve_DFAstart();
int solve_DFAend();
int solve_opnum();
int freeDFA();
int displayset_int();
int solve_equal_state();
int display_mydeque() ;
int DFAmin();
int dispalyminDFA();
int freeminDFA();
int run();
int solve_minDFAend();
int find(const int &first,const char &c, const int & second);
int re_minDFA();
public:
DFA_DFAmin():Z_nfa() //构造函数
{
minDFAstart=0;
cout<<"执行了DFA_DFAmin的构造函数"<<endl;
DFAstart = 0 ;
minDFAstatenum = 0 ;
DFAstatenum = 0;
opnum = Z_nfa::get_opnum();
DFA_DFAmin::run();
}
~DFA_DFAmin();
int get_minDFA(map<int,wedge* >& G);
int get_minDFAstart(){return minDFAstart; }
set<int> get_minDFAend(){return minDFAend; }
int get_minDFAstatenum(){return minDFAstatenum;}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -