0001 template <typename Tv, typename Te> struct DijkPU { //针对Dijkstra算法的顶点优先级更新器 0002 virtual void operator()(Graph<Tv, Te>* g, Rank v, Rank u) { 0003 if (UNDISCOVERED == g->status(u) //对于v每一尚未被发现的邻接顶点u,按Dijkstra策略 0004 && g->prio(u) > g->prio(v) + g->wt(v, u)) { //策略择优 0005 g->prio(u) = g->prio(v) + g->wt(v, u); //更新优先级(数) 0006 g->parent(u) = v; //更新父亲 0007 } //if 0008 } //operator 0009 }; //DijkPU