Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int V=5;
- int minimum(int key[]){
- int small=INT_MAX;
- int min_index;
- for(int i=1;i<V;i++){
- if(key[i]<small){
- small=key[i];
- min_index=i;
- }
- }
- return min_index;
- }
- void printMST(int graph[V][V],int parent[]){//<----This is the Error line
- for(int i=1;i<V;i++){
- cout<<parent[i]<<"-"<<i<<graph[i][parent[i]]<<endl;
- }
- }
- void primMST(int graph[V][V]){
- int parent[V],key[V];
- bool mstSet[V];
- for(int i=0;i<V;i++){
- mstSet[i]=false;
- key[i]=INT_MAX;
- }
- key[0]=0;
- parent[0]=-1;
- for(int j=0;j<V-1;j++){
- int u=minimum(key);
- for(int v=0;v<V;v++){
- if(graph[u][v] && mstSet[v]==false && graph[u][v]<key[v]){
- parent[v]=u;
- key[v]=graph[u][v];
- }
- }
- }
- printMST(graph,parent);
- }
- int main(){
- int graph[V][V]={{0,2,0,6,0},
- {2,0,3,8,5},
- {0,3,0,0,7},
- {6,8,0,0,9},
- {0,5,7,9,0}};
- primMST(graph);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement