#include<iostream>
#include<fstream>
using namespace std;
const int MaxSize=100;
#define Max_D 0x7FFFFFFF
typedef struct Vertex //别扭写法
{
int len;
int v1;
int v2;
}Vertex;
Vertex _ge[MaxSize]; //边集数组
int _set[MaxSize]; //并查集
int _rank[MaxSize]; //各结点的最大深度
int FindSet(int x) //找祖宗
{
if( _set[x] != x)
_set[x] = FindSet(_set[x]);
return _set[x];
}
void MakeSet(int x) //初始化
{
_set[x] = x;
_rank[x] = 0;
}
void Link(int a,int b) //优化组合两个祖宗
{
if( _rank[a] > _rank[b]) _set[b] = a;
else if(_rank[a]<_rank[b]) _set[a] = b;
else
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余4页未读,立即下载