【发布时间】:2010-11-11 11:10:01
【问题描述】:
我要用 C# 编写一个基于事件的模拟器。我需要一个用于调度程序的排序容器,它具有以下功能:
- 键 - 值对按键排序存储(时间、委托对)
- 高效的按键插入和删除(最小的项目被删除,插入是任意的)
- 可查询最小项(键值对)。
我需要的实际上是一个非常基本的二叉树或排序队列或类似的东西。但是我在 .NET 中的选项——SortedList 和 SortedDictionary——并不令人满意。第一个存在插入和删除的效率问题,第二个存在查询最小项的问题。
我应该开始实现自己的容器还是我错过了什么?令人难以置信的是没有适合我需要的内置容器。
谢谢!
(更新:我正在寻找 .NET 2.0 下的解决方案)
【问题讨论】:
-
使用
SortedDictionary并自己跟踪最小的项目? -
@Tim Robinson - 听起来像是一个答案?!?
-
sortedDictionary.First()有什么问题? -
@Pieter 我认为这很明显,所以我可能错过了重点
-
@Tim Robinson - 通常情况下,OP 正在寻找一个简单的解决方案。总可以试一试。为你 +1。
标签: c# containers sorted