#include<iostream.h> #include<conio.h> #define Infinity 9999 #define MAX_SIZE 10 void main(){ int cost[MAX_SIZE][MAX_SIZE],n,edg; int vis[MAX_SIZE]={0}; clrscr(); cout<<"ENTER THE NUMBER OF VERTICES\n"; cin>>n; cout<<"ENTER THE NUMBER OF EDGES\n"; cin>>edg; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cost[i][j]=Infinity; int cst; cout<<"ENTER THE ADJACENCY LIST WITH COST :(U,V)=COST\n"; for(int z=1;z<=edg;z++){ cin>>i>>j>>cst; cost[i][j]=cst; cost[j][i]=cst; } vis[1]=1; int totalEdgeCount=1; int mstTotalCost=0; int u,v; while(totalEdgeCount<n){ for(int min=Infinity,i=1;i<=n;i++){ for(j=1;j<=n && vis[i]==1;j++){ if(cost[i][j]<min){ min=cost[i][j]; u=i; v=j; } } } if(vis[v]==0){ cout<<" Edge "<<totalEdgeCount++<<" ("<<u<<","<<v<<") = "<<min<<"\n"; mstTotalCost+=min; vis[v]=1; } cost[u][v]=cost[v][u]=Infinity; } cout<<"\nMINIMUM COST OF SPANNING TREE IS "<<mstTotalCost<<"\n"; getch(); }