Allora andiamo per ordine altrimenti nn mi faccio capire!

Sto implementando l'algoritmo di Dijkstra per i cammini minimi con l'heap!

Voglio usare la struttura priority_queue delle STL!

Gli indici che devo inserire nella coda hanno priorità in base alla distanza nel relativo vettore!

codice:
 _dist = { 10, 20, 1, 3 }
In questo caso l'indice 2 è quello a priorità max!

Il fatto "brutto" è questo vettore è privato all'interno di cui fa parte anche la coda a priorità!

Devo definire la funzione di comparazione in modo da assegnare la giusta priorità agli indici!!!


Avevo pensato a :

codice:
bool ordine(int primo, int secondo) {
 return _dist[primo] < _dist[secondo];
}
Solo che nn so ne dove portela mettere, ne se va bene na cosa del genere!

Ovviamente è specificata in :

typedef priority_queue<int, vector<int>, ordine > Coda;

Ma nn so se va bene già questa dichiarazione!

Thx