C# 隊列(Queue)
隊列(Queue)代表了一個先進(jìn)先出的對象集合。當(dāng)您需要對各項進(jìn)行先進(jìn)先出的訪問時,則使用隊列。當(dāng)您在列表中添加一項,稱為入隊,當(dāng)您從列表中移除一項時,稱為出隊。
Queue 類的方法和屬性
下表列出了 Queue 類的一些常用的 屬性:
屬性 | 描述 |
---|---|
Count | 獲取 Queue 中包含的元素個數(shù)。 |
下表列出了 Queue 類的一些常用的 方法:
序號 | 方法名 & 描述 |
---|---|
1 | public virtual void Clear();
從 Queue 中移除所有的元素。 |
2 | public virtual bool Contains(
object obj
);
判斷某個元素是否在 Queue 中。 |
3 | public virtual object Dequeue(); 移除并返回在 Queue 的開頭的對象。 |
4 | public virtual void Enqueue(
object obj
);
向 Queue 的末尾添加一個對象。 |
5 | public virtual object[] ToArray(); 復(fù)制 Queue 到一個新的數(shù)組中。 |
6 | public virtual void TrimToSize(); 設(shè)置容量為 Queue 中元素的實(shí)際個數(shù)。 |
實(shí)例
下面的實(shí)例演示了隊列(Queue)的使用:
using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main(string[] args) { Queue q = new Queue(); q.Enqueue('A'); q.Enqueue('M'); q.Enqueue('G'); q.Enqueue('W'); Console.WriteLine("Current queue: "); foreach (char c in q) Console.Write(c + " "); Console.WriteLine(); q.Enqueue('V'); q.Enqueue('H'); Console.WriteLine("Current queue: "); foreach (char c in q) Console.Write(c + " "); Console.WriteLine(); Console.WriteLine("Removing some values "); char ch = (char)q.Dequeue(); Console.WriteLine("The removed value: {0}", ch); ch = (char)q.Dequeue(); Console.WriteLine("The removed value: {0}", ch); Console.ReadKey(); } } }
當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:
Current queue: A M G W Current queue: A M G W V H Removing values The removed value: A The removed value: M
更多建議: