// vim: set cindent // vim: ts=4 sw=4 et tw=0 wm=0 #include using namespace std; template class PairNode; namespace shortest_paths { struct Node { unsigned id; double d; Node* p; // predecessor vector neighbours; vector nweights; PairNode* qnode; }; inline bool compareNodes(Node *const &u, Node *const &v) { return u->d < v->d; } typedef pair Edge; void floyd_warshall(unsigned n, double** D, vector& es,double* eweights); void johnsons(unsigned n, double** D, vector& es, double* eweights); void dijkstra(unsigned s, unsigned n, double* d, vector& es, double* eweights); }