#include <iostream>
using namespace std;
const int INF=99;
const int n=6; //顶点数
int G[n][n]={INF, 6, 1, 5,INF,INF,
6,INF, 5,INF, 3,INF,
1, 5,INF, 5, 6, 4,
5,INF, 5,INF,INF, 2,
INF, 3, 6,INF,INF, 6,
INF,INF, 4, 2, 6,INF,
};
struct Edge
{
int adjvex; //最小边在U中的那个顶点
int lowcost; //最小边上的权值
};
Edge closedge[n]; // closedge[i]表示第i个顶点与第adjvex个顶点相邻,边的最小权值为lowcost
void init()
{
using namespace std;
const int INF=99;
const int n=6; //顶点数
int G[n][n]={INF, 6, 1, 5,INF,INF,
6,INF, 5,INF, 3,INF,
1, 5,INF, 5, 6, 4,
5,INF, 5,INF,INF, 2,
INF, 3, 6,INF,INF, 6,
INF,INF, 4, 2, 6,INF,
};
struct Edge
{
int adjvex; //最小边在U中的那个顶点
int lowcost; //最小边上的权值
};
Edge closedge[n]; // closedge[i]表示第i个顶点与第adjvex个顶点相邻,边的最小权值为lowcost
void init()
{