gpt4 book ai didi

c++ - 如何迭代priority_queue?

转载 作者:IT老高 更新时间:2023-10-28 13:23:22 25 4
gpt4 key购买 nike

我可以使用迭代器(如 vector)在 c++ 中遍历标准 priority_queue 或标准 queue 吗?我不想使用 pop 因为它会导致我的队列出队。

感谢您的帮助

最佳答案

priority_queue 不允许遍历所有成员,大概是因为它太容易使队列的优先级顺序无效(通过修改您遍历的元素)或者它可能是“不我的工作”的基本原理。

官方的解决方法是改用 vector 并使用 make_heappush_heap 自行管理优先级pop_heap。在@Richard 的回答中,另一种解决方法是使用从 priority_queue 派生的类并访问具有 protected 可见性的底层存储。

关于c++ - 如何迭代priority_queue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4484767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com