My implementation of Dijkstra's algorithm in C++