gpt4 book ai didi

c# - 相当于一个允许重复键的排序字典

转载 作者:可可西里 更新时间:2023-11-01 08:04:09 24 4
gpt4 key购买 nike

我需要一个数据结构,可以按对象关联的浮点键对对象进行排序,最低的在前。问题是键代表成本,所以经常有重复,我不关心这个,因为如果两个成本相同,我会捕获第一个,因为它没有区别,问题是编译器提示。

是否有一种数据结构的行为方式相同但允许重复键?

编辑 - 我仍然需要重复项,因为如果一个结果是死胡同,我会捕获下一个(它们是 a* 搜索中的节点)

所以为了清楚起见,它需要允许按顺序排序的重复键。

最佳答案

你写:

equivalent to a dictionary that allows duplicate keys

I need a data structure that can sort objects by the float keys they're associated with, lowest first.

字典不会保留按键排序的项目,因此您要查找的结构实际上不等同于 Dictionary根本。你想要的是类似于 SortedList 的东西或 SortedDictionary除了它应该允许重复键。

.NET 中不存在此类。但是,您有几个选择:

  • 使用SortedDictionary<double, List<TValue>>如果您想存储与键关联的所有值,即使您通常只需要第一个。第一次插入键时,创建一个新列表并将值添加到列表中。插入已存在的键时,获取列表并将值附加到列表。
  • 您的编辑意味着此方法不适用于您的情况。 使用 SortedDictionary<double, TValue>并在插入前检查重复项。只会存储每个键的第一个值,因此与上述方法不同,您根本无法使用此方法访问第二个值。
  • 找到一个第三方集合库,其中的类可以满足您的需求。

相关

关于c# - 相当于一个允许重复键的排序字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11801314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com