克鲁斯卡尔算法哪里出错了??
//克鲁斯卡尔算法
typedef struct
{
int u;int v;int w;
}Edge;
void Kruskal(Edge E[],int n,int e)
{
int i,j,m1,m2,sn1,sn2,k;
int vset[MAXVEX];
for(i=0;i<n;i++) vset[i]=i;//初始化辅助数组
k=1;j=0;
while(k<n)
{
m1=E[j].u;m2=E[j].v;//取一条边的头尾顶点
sn1=vset[m1];sn2=vset[m2];//得到两个顶点所属的集合编号
if(sn1!=sn2)//两顶点属不同的集合,该边是最小生成树的边
{
cout<<"("<<m1<<","<<m2<<"):"<<E[j].w<<endl;
k++;//生成边数增1
for(i=0;i<n;i++)//两个集合统一编号
if(vset[i]==sn2)//集合编号为的改为
vset[i]=sn1;
}
j++;//扫描下一条边
}
}
//主函数
void main()
{
AdjList *g;
CreatAdjList(g);
DispAdjList(g);
}
error C2601: 'Kruskal' : local function definitions are illegal
error C2601: 'main' : local function definitions are illegal
fatal error C1004: unexpected end of file found