Check out example codes for "prims c++". It will help you in understanding the concepts better.

Code Example 1

#include <iostream> #include <vector> #include <queue> #include <functional> #include <utility>  using namespace std; const int MAX = 1e4 + 5; typedef pair<long long, int> PII; bool marked[MAX]; vector <pii> adj[MAX];  long long prim(int x) {     priority_queue<PII, vector<pii>, greater<pii> > Q;     int y;     long long minimumCost = 0;     PII p;     Q.push(make_pair(0, x));     while(!Q.empty())     {         // Select the edge with minimum weight         p = Q.top();         Q.pop();         x = p.second;         // Checking for cycle         if(marked[x] == true)             continue;         minimumCost += p.first;         marked[x] = true;         for(int i = 0;i < adj[x].size();++i)         {             y = adj[x][i].second;             if(marked[y] == false)                 Q.push(adj[x][i]);         }     }     return minimumCost; }  int main() {     int nodes, edges, x, y;     long long weight, minimumCost;     cin >> nodes >> edges;     for(int i = 0;i < edges;++i)     {         cin >> x >> y >> weight;         adj[x].push_back(make_pair(weight, y));         adj[y].push_back(make_pair(weight, x));     }     // Selecting 1 as the starting node     minimumCost = prim(1);     cout << minimumCost << endl;     return 0; }</textarea>              <br/>

Learn ReactJs, React Native from akashmittal.com