首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

判断两颗4分树是否相等

2013-01-01 
判断两颗四分树是否相等bool operator (quadtree *&t) const{//4分树if(thisNULL||tNULL){if(this

判断两颗四分树是否相等
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 ==的时候调用一下啊

热点排行