/*摘自计蒜客:http://www.jisuanke.com/course/35/7055
*实现并查集类DisjointSet的基本操作
*/
#include <iostream>
using namespace std;class DisjointSet
{
private:
int * father;
public:
//初始化就是将每个元素都建立一个只包含该元素的集合,即每个元素都是自己所在集合的代表元素。
DisjointSet(int size) {father = new int[size];
for (int i=0; i<size; ++i) {
father[i] = i;//代表元素特点:代表元素的父结点就是它自己
}
}
~DisjointSet() {
delete[] father;
}
};
int main() {
DisjointSet dsu(100);
return 0;
}
本文介绍了一个简单的并查集类DisjointSet的实现方法。该类使用数组存储每个元素的父节点,初始化时每个元素都是独立的集合。通过构造函数创建DisjointSet实例时指定集合的大小。
758

被折叠的 条评论
为什么被折叠?



