非迭代版本
int find(int x){
int a = x;
while(x != parent(x)){
x = parent(x);
}
路径压缩
while(a!=parent(a)){
int z = a;
a = parent(a);
parent(z)=x;
}
return x;
}
迭代版本
int find(x){
if(x!=parent(x)) parent(x) = find(parent(x));
//如果本身不是根结点,那么本身的根结点为父母结点的根结点
return parent(x);
//如果是根结点就返回
}