だから私は次のようなループを持っています
for (r = 0; r < k; r++) {
pair p = {r, D[r]};
queue.push(p);
}
ここで、ペアは次のように定義されます
struct pair {
int u;
float d;
}
これは、k ペアを作成して優先キューにプッシュする合法的な方法ですか? p は毎回上書きされますが、ペアは元の形式でキューにまだ存在しますか? それとも、すでにキューにある各ペアが自動的に p の新しい値に更新され、キューが同じペアの同一のコピーでいっぱいになるのでしょうか?
ありがとう!