s5s*_*s5s 0 c# binary search dictionary key
我有一本有int钥匙的字典.密钥是随机顺序的,并不是必然的连续性(例如5,3,11,12,10,4).我想以密钥大小的相反顺序访问每个键值对.所以对于上面的例子,我想访问(12,11,10 ......).
我看到如何做到这一点的方法是获取元素数量的计数,通过二进制搜索找到最大值,然后找到小于当前最大值的下一个最大值等.直到我处理了数字字典中包含的元素.
但是,可能存在一种方法.有关如何查找最大键的讨论:获取字典中的最大键
var pairs = dictionary.OrderByDescending(pair => pair.Key);
foreach(var pair in pairs)
{
var value = pair.Value;
...
}
Run Code Online (Sandbox Code Playgroud)