新F# 我需要存储一堆根据购买清单的收集是根据浮动数量排序浮点数对象的名单。我知道,在C#我会用F#相当于SortedDictionary从C#
SortedDictionary<float, List<obj>>
的实施是一个红黑树,允许数(n)的插入和搜索。但是最好的办法是攻击F#的情况。我试图使用SortedDitionary,但是我不能引用SortedDictionary [int]来查找值,所以它本质上将它渲染为无用(我可能做错了)。
感谢您的帮助
新F# 我需要存储一堆根据购买清单的收集是根据浮动数量排序浮点数对象的名单。我知道,在C#我会用F#相当于SortedDictionary从C#
SortedDictionary<float, List<obj>>
的实施是一个红黑树,允许数(n)的插入和搜索。但是最好的办法是攻击F#的情况。我试图使用SortedDitionary,但是我不能引用SortedDictionary [int]来查找值,所以它本质上将它渲染为无用(我可能做错了)。
感谢您的帮助
语法
sorteddictionary.[int]
则工作正如你所期望
第一THIG做的是阅读Okasaki的书Purely Functional Data Structures
它ML的实现,可以帮助您
您可以使用sorteddictionary.[int]
约翰·帕尔默已经说过,但它可能是值得指出的是,F#标准库中包含单纯的功能性分类字典集合称为Map
。
哦谢谢!你能解释为什么可能吗?对不起,如果其明显 – Abstract 2012-03-26 09:54:26
@Abstract - F#的数组访问语法需要一个'.' - 不明白为什么,它是数组一样,列表等。此外,如果这是正确的,请接受答案 – 2012-03-26 09:56:55
@JohnPalmer:我觉得它是避免与''0'一个[0]','索引A'之间的潜在的混淆,和'一个[0]','A'接着'[0]'。无论是从可读性还是解析角度来看。 – Guvante 2012-03-26 16:05:08