概述

队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。

Queue 类的方法和属性

名称 说明
Count 获取 Queue 中包含的元素个数。
public virtual void Clear(); 从 Queue 中移除所有的元素。
public virtual bool Contains( object obj ); 判断某个元素是否在 Queue 中。
public virtual object Dequeue(); 移除并返回在 Queue 的开头的对象。
public virtual void Enqueue( object obj ); 向 Queue 的末尾添加一个对象。
public virtual object[] ToArray(); 复制 Queue 到一个新的数组中。
public virtual void TrimToSize(); 设置容量为 Queue 中元素的实际个数。

代码实现

  • 下面的实例演示了队列(Queue)的使用:
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. Queue q = new Queue();
  6. q.Enqueue('A');
  7. q.Enqueue('M');
  8. q.Enqueue('G');
  9. q.Enqueue('W');
  10. Console.WriteLine("Current queue: ");
  11. foreach (char c in q)
  12. Console.Write(c + " ");
  13. Console.WriteLine();
  14. q.Enqueue('V');
  15. q.Enqueue('H');
  16. Console.WriteLine("Current queue: ");
  17. foreach (char c in q)
  18. Console.Write(c + " ");
  19. Console.WriteLine();
  20. Console.WriteLine("Removing some values ");
  21. char ch = (char)q.Dequeue();
  22. Console.WriteLine("The removed value: {0}", ch);
  23. ch = (char)q.Dequeue();
  24. Console.WriteLine("The removed value: {0}", ch);
  25. Console.ReadKey();
  26. }
  27. }
  • 结果
  1. Current queue:
  2. A M G W
  3. Current queue:
  4. A M G W V H
  5. Removing values
  6. The removed value: A
  7. The removed value: M