我無法找到正確的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