C#的SortedBag <T>

Lu4*_*Lu4 4 c# collections generic-collections

我正在为C#寻找一个SortedBag实现,我的用例如下:我有一系列的对象正在使用自定义IComparer实现进行估计和整理,问题是完全不同的对象可能产生相同的估计,当我尝试使用C#的默认排序集合(如SortedSet,SortedDictionary实现)时,我无法使用相同的估计向这些集合插入多个对象,因为集合认为这些对象相等并拒绝插入它们.我需要一个具有O(log(N))的SortedBag实现,用于插入和删除,因为我正在非常积极地进行插入/删除.

有没有人偶然发现这样的实施?

谢谢!

编辑

似乎我在寻找Priority Queue而不是SortedBag ...

xan*_*tos 7

TreeBag<T>该C5通用收集库应该是O(log(n))无论是在插入和删除中,否则是Wintellect的的Power为收藏.NET与它OrderedBag<T>.