我无法找到正确的C#数据结构。我正在寻找PriorityList。它需要具备以下条件:C#优先级列表
- 只有一个项的优先
- 必须始终
- 能力的项目添加到列表的末尾保持排序状态 - prorityList.Add(项目)
- 能力在给定的优先级插入项目 - priorityList.Add(3,项目)
- 能力使用优先级来访问任何元件 - priorityList [3]
- 能力在给定的删除的项priority - priorityList.RemoveAt(3)
- 当添加或删除某个项目时,列表的其余部分必须相应地向上或向下移动 - 例如,如果删除了第三个项目,第四个项目变为第三个项目,第五个项目变为第四个项目,等
C#的排序列表看上去有希望的,但它不能处理在给定的优先级在一个已经存在的优先级插入或取出元件(具有在这两种情况下适当地列表移)。
听起来像一个LinkedList http://msdn.microsoft.com/en-us/library/he2s3bh7.aspx – Jesse 2012-07-07 06:26:08
如果你想按优先级排序,那么遍历列表将会很有帮助。 – Narendra 2012-07-07 06:56:50
VS杂志有一个功能/可测试的实现,你可能希望检查http://visualstudiomagazine.com/articles/2012/11/01/priority-queues-with-c.aspx – 2012-12-04 15:05:10