首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Dictionary<>始终按值排序,从键查找索引

Dictionary<>始终按值排序,从键查找索引
EN

Stack Overflow用户
提问于 2011-08-17 16:03:52
回答 5查看 520关注 0票数 3

我需要一个字典(或任何其他集合),它总是按值排序,并可以按键索引。我的目的是实现一个缓存,其中对象具有唯一的键和与其关联的度量。当必须进行缓存替换时,具有最少度量的对象将被删除。它需要尽可能快,所以每次更换时都要进行完整的排序不是一个好的选择。有什么想法吗?Thx

EN

回答 5

Stack Overflow用户

发布于 2011-08-17 16:52:52

像这样的东西应该工作得很好(不需要太多测试):

http://pastebin.com/eYeE33F5

票数 3
EN

Stack Overflow用户

发布于 2011-08-17 16:11:54

它看起来优先级队列就是你要找的。使用二进制堆可以很好地实现这个类。示例:http://www.codeproject.com/Articles/126751/Priority-queue-in-Csharp-with-help-of-heap-data-st.aspx

票数 0
EN

Stack Overflow用户

发布于 2011-08-17 16:12:33

你为什么不留着普通的字典。现在,每当您需要进行缓存替换时,就是选择具有“最小值”的元素并替换它的时刻。

编辑-以下是如何获得具有最小值的KeyPair。在此之后只需使用Key和Value属性:

代码语言:javascript
运行
复制
var minValuePair = myDictionary.OrderBy(p => p .Value).First();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7089571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档