给定 .NET System.Collections.Generic.PriorityQueue
中包含的元素,如何就地更改其优先级值?如果这不可能,那么是否应该Dequeue()
该项目,并使用新的优先级值再次Enqueue()
?我在documentation中没有看到任何明显的东西,但请询问我是否错过了相关详细信息。
最佳答案
PriorityQueue<TElement,TPriority>
集合不可更新。支持更新需要维护更多状态,并且入队/出队操作会变得更慢,因此微软选择发布不可更新的版本。 GitHub 上有一个添加更新功能的提案,您可以通过投票支持该提案:
关于c# - 如何在 C# 中更改 PriorityQueue 中包含的元素的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75046421/