在某种线性表中,需要加入的元素总是插入到线性表的末端,且总是从线性表的头部取出或删除元素,我们把这种线性表称为队列。
在C#中,通过Queue集合来封装对队列的操作,在队列中对元素的操作遵循“先进先出”的原则。Queue类常用的属性和方法如下表所示:
属性 | 说明 |
Count | 获取 Queue 中包含的元素数。 |
方法 | 说明 |
Dequeue | 移除并返回Queue开始处的对象。 |
Enqueue | 将对象添加到Queue的结尾处。 |
Peek | 返回位于Queue开始处的对象但不将其移除。 |
由上表可以看出,通过方法Enqueue和Dequeue分别完成队列的入队和退队运算。
public static void Main()
{// Creates and initializes a new Queue.Queue myQ = new Queue();myQ.Enqueue( "The" );myQ.Enqueue( "best" );myQ.Enqueue( "is" );myQ.Enqueue( "Ronaldo" );// Displays the Queue.Console.Write( "Queue values:" );PrintValues( myQ );// Removes an element from the Queue.Console.WriteLine( "(Dequeue)\t{0}", myQ.Dequeue() );// Displays the Queue.Console.Write( "Queue values:" );PrintValues( myQ );// Views the first element in the Queue but does not remove it.Console.WriteLine( "(Peek) \t{0}", myQ.Peek() );// Displays the Queue.Console.Write( "Queue values:" );PrintValues( myQ );
}
public static void PrintValues(Queue myCollection )
{foreach ( Object obj in myCollection )Console.Write( " {0}", obj );Console.WriteLine();
}