bitreeiterator.h

来自「包含各种测试,查找和算法等代码,如冒泡算法,树的遍历,链表,队列,堆栈等」· C头文件 代码 · 共 33 行

H
33
字号
template <class T> 
class BiTreeIterator
{
protected:
	BiTreeNode<T> *root;			//根结点指针
	BiTreeNode<T> *current;			//当前结点指针
	int iteComplete;				//到达尾部标记,由派生类维护
public:
	//构造函数和析构函数
	BiTreeIterator(BiTreeNode<T> *tree): 
		root(tree), current(NULL), iteComplete(1){}		
	~BiTreeIterator(void){}

	//控制分步遍历过程的成员函数
	virtual void Reset(void) = 0;		//置为初始状态
	virtual void Next(void) = 0;		//下一个结点
	virtual int EndOfBiTree(void)const	//到达尾部
		{return iteComplete;}

	T& Data(void);						//取数据元素
};

template <class T>
T& BiTreeIterator<T>::Data(void)		//取数据元素
{
	if(current == NULL)
	{
		cout << "当前结点不存在!" << endl;
		exit(0);
	}
	else return current->data;
}

⌨️ 快捷键说明

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