我需要一个类似于 SortedDictionary<int, double>
的数据结构但是是根据值而不是键排序的。当我们在字典中有大约 3000 个项目时,我需要大约 1-2 微秒来添加和删除项目。
我的第一个想法是简单地在我的代码中切换键和值。这几乎可以工作。通过这样做,我可以在大约 1.2 微秒的时间内添加和删除元素。
但是键在 SortedDictionary 中必须是唯一的,这意味着我的逆向字典中的值必须是唯一的。在某些情况下,它们可能并非如此。
.NET 库中是否有任何适合我的想法?
最佳答案
您可以像这样按值对 SortedDictionary 进行排序:
yourList.Sort(
delegate(KeyValuePair<int, double> val1,
KeyValuePair<int, double> val2)
{
return val1.Value.CompareTo(val2.Value);
}
);
关于c# - .NET SortedDictionary 但按值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2619051/