我的代码处理大量的值,我正在寻找一种高效的结构来跟踪前(N)个值,其中N小于10,因此收集所有数字然后对列表进行排序并取前(N)可能不是最有效的方法。
为此,我正在构建一个大小为N的固定集合,以按降序排序方式保持前(N)个值。如果值高于任何现有值(在这种情况下,最后一个元素将被删除),或者集合未满,则已排序集合的
我能够使用双向
谢谢。
为此,我正在构建一个大小为N的固定集合,以按降序排序方式保持前(N)个值。如果值高于任何现有值(在这种情况下,最后一个元素将被删除),或者集合未满,则已排序集合的
Add(T value)
方法将向集合添加该值。我能够使用双向
LinkedList<T>
实现我想要的内容,因为它具有快速插入和删除,但我想知道使用SortedDictionary<TKey, TValue>
或优先队列是否更好?谢谢。