主要函数
Merge :合并两个并查集
GetRoot :查询某个元素在哪个集合
Query :查询两个元素是否属于同一集合
数据结构
parent[i]=j :j是i的父节点
Code
1 int parent[N]; 2 3 int GetRoot(int a) 4 { 5 if( parent[a] != a) 6 parent[a] = GetRoot(parent[a]); 7 return parent[a]; 8 } 9 10 11 int Merge(int a,int b) 12 { //把b树根挂到a树根下 13 parent[GetRoot(b)] = GetRoot(a) ; 14 } 15 16 bool Query(int a,int b) 17 { 18 return GetRoot(a) == GetRoot(b) ; 19 }