C# 隊列(Queue)
C# 隊列(Queue)
隊列(Queue)代表了一個先進先出的對象集合。當您需要對各項進行先進先出的訪問時,則使用隊列。當您在列表中添加一項,稱為入隊,當您從列表中移除一項時,稱為出隊。
Queue 類的方法和屬性
下表列出了 Queue 類的一些常用的 屬性:
屬性 | 描述 |
---|---|
Count | 獲取 Queue 中包含的元素個數。 |
下表列出了 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();復制 Queue 到一個新的數組中。 |
6 | public virtual void TrimToSize();設置容量為 Queue 中元素的實際個數。 |
實例
下面的實例演示了隊列(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();
}
}
}
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();
}
}
}
當上面的代碼被編譯和執行時,它會產生下列結果:
Current queue: A M G W Current queue: A M G W V H Removing values The removed value: A The removed value: M