原文地址: http://www.dingos.cn/index.php?topic=1704.0
队列:先进先出列表
这篇文章告诉你如何使用队列。调用Enqueue()将一个对象放入队列中。Dequeue()方法移除并返回队列中最前面的对象。当队列是空的时候调用 Deueue()方法会引发InvalidOperationExceptio
n异常。使用Peek()可以返回下一个对象,但不移除该对象。
下面是关于队列的示例:
输出结果为:
下面是关于队列的示例:
// 显示Queue类
using System;
using System.Collections;
class QueueDemo{
static void ShowEnqueue(Queue queue, int number){
queue.Enqueue(number);
Console.WriteLine("Enqueue(" + number + ")");
Console.Write("queue: ");
foreach(int i in queue)
Console.Write(i + " ");
Console.WriteLine();
}
static void ShowDequeue(Queue queue){
Console.Write("Dequeue -> ");
int number = (int) queue.Dequeue();
Console.WriteLine(number);
Console.Write("queue: ");
foreach(int i in queue)
Console.Write(i + " ");
Console.WriteLine();
}
public static void Main(){
Queue queue = new Queue();
foreach(int i in queue)
Console.Write(i + " ");
Console.WriteLine();
ShowEnqueue(queue,1);
ShowEnqueue(queue,5);
ShowEnqueue(queue,90);
ShowDequeue(queue);
ShowDequeue(queue);
ShowDequeue(queue);
try{
ShowDequeue(queue);
}catch(InvalidOperationException){
Console.WriteLine("Queue empty.");
Console.Read();
}
}
}
using System;
using System.Collections;
class QueueDemo{
static void ShowEnqueue(Queue queue, int number){
queue.Enqueue(number);
Console.WriteLine("Enqueue(" + number + ")");
Console.Write("queue: ");
foreach(int i in queue)
Console.Write(i + " ");
Console.WriteLine();
}
static void ShowDequeue(Queue queue){
Console.Write("Dequeue -> ");
int number = (int) queue.Dequeue();
Console.WriteLine(number);
Console.Write("queue: ");
foreach(int i in queue)
Console.Write(i + " ");
Console.WriteLine();
}
public static void Main(){
Queue queue = new Queue();
foreach(int i in queue)
Console.Write(i + " ");
Console.WriteLine();
ShowEnqueue(queue,1);
ShowEnqueue(queue,5);
ShowEnqueue(queue,90);
ShowDequeue(queue);
ShowDequeue(queue);
ShowDequeue(queue);
try{
ShowDequeue(queue);
}catch(InvalidOperationException){
Console.WriteLine("Queue empty.");
Console.Read();
}
}
}
输出结果为:
Enqueue(1)
queue: 1
Enqueue(5)
queue: 1 5
Enqueue(90)
queue: 1 5 90
Dequeue -> 1
queue: 5 90
Dequeue -> 5
queue: 90
Dequeue -> 90
queue:
Dequeue -> Queue empty.
queue: 1
Enqueue(5)
queue: 1 5
Enqueue(90)
queue: 1 5 90
Dequeue -> 1
queue: 5 90
Dequeue -> 5
queue: 90
Dequeue -> 90
queue:
Dequeue -> Queue empty.