• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: C/C++
  • 标签: 四叉树  

资源简介

四叉树的定义实现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

评论

共有 条评论