#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
#define max_sum 30
#define INFINITY 65535
using namespace std;
typedef struct Arcnode{
int adjvex;
struct Arcnode *nextarc;
}Arcnode;
typedef struct Vexnode{
char data;
struct Arcnode *firstarc;
}Vnode,AdjList[max_sum];
typedef struct Graph{
AdjList vexlist;
int vex_sum;
int arc_sum;
int arc_matrix[max_sum][max_sum];
}Graph;
int visit[max_sum];
void MiniSpanTree(Graph &g){
int min;
int adjvex[max_sum];
int lowest[max_sum];
lowest[1] = 0;
adjvex[1] = 1;
int k = 1;
for(int i = 1;i <= g.vex_sum;i++)
{
lowest[i] = g.arc_matrix[1][i];
adjvex[i] = 1;
}
for(int i = 1;i < g.vex_sum;i++)
{
min = INFINITY;
int j = 1;
while(j <= g.vex_sum)
{
if(lowest[j] < min && lowest[j] != 0)
{
min = lowest[j];
k = j;
}
j++;
}
最小生成树(普利姆算法邻接表实现)C++
最新推荐文章于 2022-05-23 16:33:15 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)