WItam, jak ustawić kolejkę priorytetową z wierzchołków grafu (reprezentowanych przez obiekt klasy Graph_Node)...
class Graph_node
{
public:
long int ref; //id wierzcholka
double lat;
double lon;
};
... na mapę ....
map <Graph_node*, double> odleglosci;
gdzie jej wartość to odległość tego wierzchołka od źródła (algorytm DIjkstry).
Stwórz tablicę (ja zastąpiłem mapą) d odległości od źródła dla wszystkich wierzchołków grafu. Na początku d[s]=0, zaś d[v]=\infty dla wszystkich pozostałych wierzchołków.
Utwórz kolejkę priorytetową Q wszystkich wierzchołków grafu. Priorytetem kolejki jest aktualnie wyliczona odległość od wierzchołka źródłowego s.
tak aby gdy dam
p.push(Node); //i tak z 10000 tych wierzcholkow, jednoczesnie majac mape z odleglosciami
to gdy wezmę .top() z tej kolejki to zwróci mi node (tzn. element mapy) o najmniejszej odleglosci