【发布时间】:2012-12-10 13:42:52
【问题描述】:
我有一个priority_queue,我想修改它的一些内容(优先级值),那么队列会被重新使用吗?
这取决于它是使用 push/pop(更有可能,因为您只需要“插入”,而不是使用整体),还是在访问 top 或 pop 时。
我真的很想更改队列中的一些元素。类似的东西:
priority_queue<int> q;
int a=2,b=3,c=5;
int *ca=&a, *cb=&b, cc=&c;
q.push(a);
q.push(b);
q.push(c); //q is now {2,3,5}
*ca=4;
//what happens to q?
// 1) {3,4,5}
// 2) {4,2,5}
// 3) crash
【问题讨论】:
标签: c++ stl queue priority-queue