当前位置:  开发笔记 > 编程语言 > 正文

从SortedList或SortedDictionary获取第i个值

如何解决《从SortedList或SortedDictionary获取第i个值》经验,为你挑选了2个好方法。

我有一个排序的对象集合(它可以是SortedList或SortedDictionary,我将主要用于阅读,所以添加性能并不重要).我怎样才能获得第i个值?

所以例如,当我在集合中有数字1,2,3,4,5并且我想要中位数(在这个例子中为3)时,我该怎么办呢?



1> Godeke..:

你可以使用像这样的代码

list.Values[index] 

对于排序列表.

使用SortedDictonary的最简单方法是使用ElementAt()方法:

dict.ElementAt(index).Value

但是,这比列表情况要慢.

在任何一种情况下,您都需要检查您的计数.如果是奇数,则取index =(list.length-1)/ 2).如果是偶数,则取index1 = list.length/2 AND index2 = list.length/2 - 1并取值.



2> Neil..:

尝试这样的事情:

list.Values [list.Count/2];

请注意,如果Count为偶数,则真正的中位数将平均中间的两个数字.


干杯,这仅适用于SortedList。有没有办法对SortedDictionary执行此操作?
推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有