首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 集合大全:佇列、鏈結清單與進階集合總結

     編輯:關於C語言

佇列:先進先出 (FIFO)

Queue<T> (泛型) 與 Queue (非泛型) 提供 FIFO 語意:

  • Enqueue(T):加入尾端
  • Dequeue():移除並回傳頭端
  • Peek():檢視頭端不移除
  • Count:元素數量

var q = new Queue();
q.Enqueue("A"); q.Enqueue("B"); q.Enqueue("C");
Console.WriteLine(q.Dequeue()); // A
Console.WriteLine(q.Peek());    // B

容量自動成長(4、8、16、32...),非泛型 `Queue` 預設陣列 32 格。

佇列示意圖

鏈結清單

LinkedList<T> 為雙向鏈結清單,適合頻繁插入/刪除中間元素:

  • 節點型別:`LinkedListNode<T>`
  • AddFirst/AddLast/AddBefore/AddAfter
  • 不支援索引存取,遍歷用 `foreach` 或 `Node.Next`

實務上較少用,效能敏感區塊才考慮。

其他常用集合

集合特性適用場景
Stack<T>後進先出 (LIFO)回溯、解析、Undo
Dictionary<TKey, TValue>鍵值對,O(1) 查找快取、索引、對應表
HashSet<T>不重複集合,集合運算去重、交集/聯集
SortedList<TKey, TValue>排序鍵值對需有序枚舉的字典
ConcurrentQueue<T>執行緒安全佇列生產者/消費者

推薦參考書

《C# 2005 & .NET 3.0 高級程式設計 (第 5 版)》 — 涵蓋集合內部實作與效能分析。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved