C#中的Queue类是什么?
要表示C#中对象的先进先出集合,请使用Queue类。当您在列表中添加项目时,它称为入队,而当您删除项目时,它称为双端队列。
Queue类的一些方法包括。
publicvirtualvoidClear()
;
从队列中删除所有元素。
publicvirtualboolContains(objectobj)
;
确定元素是否在队列中。
publicvirtualobjectDequeue()
;
删除并返回队列开始处的对象。
publicvirtualvoidEnqueue(objectobj)
;
将一个对象添加到队列的末尾。
publicvirtualobject[]ToArray()
;
将队列复制到新数组。
让我们看看如何在队列类下的C#中使用入队和出队。
示例
using System; using System.Collections; namespace Demo { class Program { static void Main(string[] args) { Queue q = new Queue(); q.Enqueue('A'); q.Enqueue('B'); q.Enqueue('C'); q.Enqueue('D'); Console.WriteLine("Current queue: "); foreach (char c in q) Console.Write(c + " "); Console.WriteLine(); q.Enqueue('E'); q.Enqueue('F'); q.Enqueue('G'); 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("Value removed: {0}", ch); ch = (char)q.Dequeue(); Console.WriteLine("Value removed: {0}", ch); Console.ReadKey(); } } }
输出结果
Current queue: A B C D Current queue: A B C D E F G H Removing some values Value removed: A Value removed: B
上面,使用入队添加了元素。
Queue q = new Queue(); q.Enqueue('A'); q.Enqueue('B'); q.Enqueue('C'); q.Enqueue('D');
使用出队删除元素。
char ch = (char)q.Dequeue(); Console.WriteLine("Value removed: {0}", ch);