集合的表示
集合运算:交、并、补、差,判定一个元素是否属于某一集合
并查集:集合并、查某元素属于什么集合
并查集问题中集合存储如何实现?
可以用树结构表示集合,树的每个结点代表一个集合元素
采用数组存储形式
集合运算
(1)查找某个元素所在的集合(用根结点表示)
int Find( SetType S[ ], ElementType X )
{ /* 在数组S中查找值为X的元素所属的集合 */
/* MaxSize是全局变量,为数组S的最大长度 */
int i;
for ( i=0; i < MaxSize && S[i].Data != X; i++) ;
if( i >= MaxSize ) return -1; /* 未找到X,返回-