Write a program that implements Prim's algorithm to generate minimum cost spanning Tree.

#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();
}