我正在尝试做一些非常简单的事情,但似乎我不明白SortedDictionary
。
我想要做的是以下内容:
创建一个排序字典,按某个浮点数对我的项目进行排序,所以我创建一个看起来像这样的字典
SortedDictionary<float, Node<T>> allNodes = new SortedDictionary<float, Node<T>>();
现在,在我添加项目之后,我想一个一个地删除它们(每次删除都应该是从最小到最大的 O(log(n)) 复杂度。
我该怎么做?我以为这只allNodes[0]
会给我最小的,但事实并非如此。
此外,字典似乎无法处理重复的键。我觉得我使用了错误的数据结构......
如果我有一堆节点想要按它们的距离(浮点数)排序,我应该使用其他东西吗?