【发布时间】:2010-12-10 02:30:31
【问题描述】:
This question 类似,但我想确切地知道:
.Net 中是否有任何类/结构/... 用于优先级队列?就像在 STL 中有 priority_queue 一样。它接受一个比较函数来支持自定义排序。
我在 .Net 中发现的最好的东西是 SortedList,它按 Key 对其值进行排序。因此,一种解决方案是为 Key 类实现自定义 Compare 接口。但我不能将我的元素分成键/值对。我有必须使用自定义函数根据其值排队的原子元素。
那么,.Net 中是否有任何集合类接受比较函数来对其元素进行排序?
有什么方法可以派生一个支持此功能的 .Net 类(可能是 HashSet)?
注意:
- 我知道许多第三方为此实现了非常好的类。也许一个很好的例子是PowerCollections。但我想使用 .Net 中的现有类快速简单的解决方案
- 我正在使用 .Net Framework 3.5
【问题讨论】:
-
截至 2021 年 1 月,.Net Core 添加了 PriorityQueue 实现。可以在此处找到对 repo 和 API 的实际提交:github.com/dotnet/runtime/commit/…
标签: c# .net priority-queue