支持排序的最佳数据结构

时间:2015-10-06 05:30:08

标签: c# data-structures

我目前正在试图弄清楚哪种数据结构可能是最好用的。所以这就是我想要做的事情:

我有一个对象和一个与此对象相关的值。我希望能够知道结构中哪个条目具有最小值。

例如,如果我有以下对象:

 ZebraObject, 10
 CowObject, 1
 DogObject, 2

我希望能够知道哪个对象具有最小值(在本例中为CowObject)。我还必须访问CowObject中的数据(调用一些函数,做一些计算等),最后,我会做'value + = value'之类的事情。所以在我访问CowObject之后,数据看起来像

 ZebraObject, 10
 CowObject, 2 // (1 + 1)
 DogObject, 2

有谁能帮我弄清楚这种情况的最佳数据结构是什么?

编辑:我假设每个元素(至少对象)都是唯一的。与对象关联的浮点值可以是重复的。

2 个答案:

答案 0 :(得分:0)

排序套装有助于满足您的要求。但排序集不允许重复。根据对象的具体字段进行排序实现IComparer。

您可以从中获得更多帮助 SortedSet and equality

答案 1 :(得分:0)

如果要绑定到列表,ObservableCollection是最好的方法。它已经实现了INotifyPropertyChanged接口。也许让你的Viewmodel继承observablecollection