#include <iostream>
#define N 100
using namespace std;
int main()
{
int a[5][5]={{0,4,5,6,23},
{4,0,8,9,10},{5,8,0,11,12},{6,9,11,0,13},{23,10,12,13,0}
};
bool flag[5];
int lowcost[4];
memset(flag,false,sizeof(flag));
memset(lowcost,0,sizeof(lowcost));
flag[0]=true;
for(int i=0;i<4;i++)
{
lowcost[i]=a[0][i+1];
}
int i=0;
while(i<4)
{ int key=0;
int min=N;
for(int j=1;j<5;j++)
{
if(!flag[j]&&lowcost[j-1]<min)
{
min=lowcost[j-1];
key=j;
}//endif
}
flag[key]=true;
for(int k=1;k<=4;k++)
{
if(!flag[k]&&a[key][k]<lowcost[k-1]&&a[key][k]!=0)
{lowcost[k-1]=a[key][k];
}
}
i++;
}//endwhile
for(int p=0;p<4;p++)
{
cout<<lowcost[p];
}
system("pause");
return 0;
}
Prim's law
最新推荐文章于 2023-12-05 17:58:14 发布