u spelt it wrong :-(\nit should have been Dijikstra\n\nSTDMETHODIMP CDijkstra::ShortestPath(long node1, long node2)\n{\n    ReleaseGraph();\n    // init d and pi\n    InitializeSource(g, g.m_nodes[node1-1]);\n    // Set S empty\n    VTYPE_NODE S;\n    // Put nodes in Q\n    VTYPE_NODE Q;\n    VTYPE_NODE::iterator kl;\n    for(kl=g.m_nodes.begin(); kl<g.m_nodes.end(); kl++)\n    {\n        CNode node = (*kl).Copy();\n        Q.push_back(node);\n    }\n    // Algorithm\n    while(Q.size())\n    {\n        CNode nod = ExtractMin(Q); // the minim value \n                // for the shortest path up to this step\n        S.push_back(nod);\n        // each vertex v which is a neighbour of u\n        VTYPE_NODE::iterator kl;\n        for(kl=g.m_nodes.begin(); kl<g.m_nodes.end(); kl++)\n        {\n            if(ExistEdge(nod, (*kl)))\n            {\n                bool gasit = false;\n                VTYPE_NODE::iterator kll;\n                for(kll=Q.begin(); kll<Q.end(); kll++)\n                {\n                    if((*kll).m_NodeNr == (*kl).m_NodeNr)\n                    gasit = true;\n                }\n                if(gasit)\n                    Relax(nod, (*kl), GetEdgeVal(nod, (*kl)));\n            }\n        }\n    }\n    RefreshDone(node1, node2);\n    return S_OK;\n}
Help me to solve Djikstra in C++ ??