资源简介
四叉树的定义实现C++代码。刚才自己写的凑合着用
代码片段和文件信息
#include
template
struct QTNode
{
QTNode(){llChild=lrChild=rlChild=rrChild=NULL;}
QTNode(const T &x)
{
element=x;llChild=lrChild=rlChild=rrChild=NULL;
}
QTNode(const T&xQTNode*llQTNode*lrQTNode*rlQTNode*rr)
{
element=x;llChild=ll;lrChild=lr;rlChild=rl;rrChild=rr;
}
T element;
QTNode*llChild*lrChild*rlChild*rrChild;
};
template
class QuadTree
{
public:
int Depthlen;
QTNode* root;
QuadTree(){ root=NULLDepth=0len=0; }
~QuadTree(){Clear();}
bool IsEmpty()const;
void Clear();
bool Root(T &x)const;
virtual int Length()const;
void MakeTree(const T &eQuadTree&llQuadTree&lrQuadTree&rlQuadTree&rr);
void PostOrder(void(*Visit)(T&x));
private:
void Clear(QTNode*t);
void PostOrder(void(*Visit)(T&x)QTNode*t);
};
template
bool QuadTree::Root(T &x)const
{
if(root){
x=root->element;return true;
}
else return false;
}
template
bool QuadTree::IsEmpty()const
{
return len==0;
}
template
void QuadTree::Clear()
{
root=NULLlen=0;
}
template
int QuadTree::Leng
- 上一篇:C语言经典讲义!华科密文
- 下一篇:用c++自编的GPS单点定位程序源码
评论
共有 条评论