读书人

判断两颗4分树是否相等

发布时间: 2013-01-01 14:04:18 作者: rapoo

判断两颗四分树是否相等
bool operator == (quadtree *&t) const{ //4分树
if(this==NULL||t==NULL){
if(this==NULL&&t==NULL)
return true;
else return false;
}
if(color==t->color){ //color将其看为一个节点的数据即可
int i;
for(i=0;i<4;++i)
if(!(child[i]==t->child[i]))
return false;
return true;
}
}
如此的操作符重载是否正确,比如quadtree * t1,quadtree * t2,假如t1树的数据与t2树的数据完全一样,那么
t1==t2,能否返回true.
[解决办法]
bool ClassName::operator==(quadtree* &t) const{ //4分树
if (t == this) return true;
if (t == NULL
[解决办法]
this == NULL) return false;

if(color==t->color){ //color将其看为一个节点的数据即可
for(int i=0;i<4;++i)
if(!(child[i]==t->child[i]))
return false;
return true;
}
return false;
}
[解决办法]
得递归吧. 单独写一个递归函数. 在operator ==的时候调用一下啊

读书人网 >C++

热点推荐