graph.h

来自「多种字符串匹配算法 多种字符串匹配算法」· C头文件 代码 · 共 56 行

H
56
字号
// Graph.h: interface for the Graph class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(_GRAPH_H__)
#define _GRAPH_H__

struct _cell{
	int element; 
	struct _cell *next;
};

typedef struct _cell *List;

class Graph  
{
public:
	Graph();
	Graph(int v, int e);
	virtual ~Graph();

	static Graph* newGraph(int v, int e); 
	static Graph* newAutomaton(int v, int e); 
	static Graph* newSuffixAutomaton(int v, int e); 

	int newVertex(); 
	int getInitial(); 
	bool isTerminal(int v); 
	void setTerminal(int v); 
	int getTarget(int v, unsigned char c); 
	void setTarget(int v, unsigned char c, int t); 
	int getSuffixLink(int v); 
	void setSuffixLink(int v, int s); 
	int getLength(int v); 
	void setLength(int v, int ell); 
	int getPosition(int v); 
	void setPosition(int v, int p); 
	int getShift(int v, unsigned char c); 
	void setShift(int v, unsigned char c, int s); 
	void copyVertex(int target, int source);

private:
	int vertexNumber;
	int edgeNumber;
	int vertexCounter;
	int initial;
	int *terminal;
	int *target;
	int *suffixLink;
	int *length;
	int *position;
	int *shift; 
};

#endif // !defined(_GRAPH_H__)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?