图的基本操作

来源:百度知道 编辑:UC知道 时间:2024/09/22 21:31:45

#include<stdio.h>
#include<iostream.h>
struct graph
{
char tnode;
char hnode;
double quanzhi;
}gr[100];
char node[50]=" ";
double graphshu[50][50];
int mini(int t,int n)
{
int tt=0;
double value=graphshu[t][0];
for(int i=1;i<n;i++)
if(value>=graphshu[t][i])
{
tt=i;
value=graphshu[t][i];
}
return tt;
}
double minval(double a,double b)
{
if(a>=b)
return b;
else return a;
}
void Prim(int k,int n)
{
double sum=0;
printf("用普里姆算法得出的结果是:\n");
printf("路径为:");
int t2=0;
for(k=0;k<n-1;k++)
{
int t1=mini(t2,n);
sum=sum+graphshu[t2][t1];
for(int i=0;i<n;i++)
graphshu[i][t2]=30000;
graphshu[t2][t1]=30000;
for(i=0;i<n;i++)
graphshu[t1][i]=minval(graphshu[t2][i],graphshu[t1][i]);