mtnodelist.h

来自「计算机英汉机器翻译系统中的英语词性标注方法实现」· C头文件 代码 · 共 76 行

H
76
字号
/*==================MTS 数据结构定义======================
====================定义II 丛链节点结构定义===============
注意:本数据结构为系统基础数据结构,系统开发所用的其他数据
结构均不能修改本定义,应在此定义基础上通过添加相关的一个类
来实现,参见例子。每个子系统只能添加一个相关的类指针。
*/

#ifndef _MTNODELIST_H
#define _MTNODELIST_H
#include "MTNodeStu.H"


class CMTNodeList
{
public:
	CMTNode* m_pSentBegin;
	CMTNode* m_pSentEnd;
	
	unsigned short m_nCurrPos;
	CMTNode** m_ppTopList;
	unsigned short m_nTopListSize;
	
public:
	CMTNodeList();
	~CMTNodeList();

	CMTNode*	GetHead();
	//取头节点
	CMTNode*	GetTail();	
	//取尾节点

	void	RemoveHead();	
	//删头节点

	void	RemoveTail();	
	//删尾节点

	void	AddHead(CMTNode*	pNode);	
	//在头节点处加pNode

	void	AddTail(CMTNode*	pNode);	
	//在尾节点处加pNode

	void	RemoveAll();	
	//删除莲

	void	InsertBefore(CMTNode* pPosNode,CMTNode* pNode);	
	//在pPosNode前插pNode

	void	InsertAfter(CMTNode* pPosNode,CMTNode* pNode);	
	//在pPosNode后插pNode

	int		GetCount();	
	//取丛节点的个数
	
	BOOL	IsEmpty();	
	//判断丛是否为空
	
	void	DeleteNode(CMTNode* pNode);
	//在丛中删除某个节点pNode
	
	void	FreeTree(CMTNode*& pNode);
	//释放以pNode为根的树
	
	CMTNode*	GetScanNode(CMTNode* pNode,int nNodeNo);
	//以pNode为当前节点,返回第nNodeNo节点
	
	void FreeThis();
	//释放所有该类包含的内存
	
	CMTNode* GetCurrentNode();
	//取当前处理的节点
};

#endif

⌨️ 快捷键说明

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