資源簡介
四叉樹的定義實現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單點定位程序源碼
評論
共有 條評論