您的位置: 网站首页 > 程序开发 > C#程序设计 > 第5章 集合 > 【5.3 Queue类】

5.3 Queue类

 

5.3  Queue

Queue类通常被称为队列,是一类特殊的集合。如果不熟悉队列的相关知识,可以将队列想像为一个现实中人排成的队伍,如车站前的购票队伍。这类队伍的属性是先排队,则先购票,后排队则后购票。队列类就是这样一个“队伍”,先进入队列中的元素(对应现实队伍中的“人”)可以先出队,而后进入队列中的元素只能后出队。

5.3.1  创建队列

队列的创建非常简单,其创建方式与ArrayList类似。同样可以使用规定初始容量,也可以不规定初始容量。下面通过一个实例演示创建队列的办法。

1.目的说明

创建一个Windows控制台应用程序,演示将创建队列的办法。

2.实现步骤

1)创建一个名为QueueCreate的控制台应用程序项目。

2)修改Program.cs文件中Main方法的内容如下:

static void Main(string[] args)

{

    Queue a ;

    a = new Queue();

 

    Console.WriteLine(a.Count);

 

    Queue b;

    b = new Queue(5);

 

    Console.WriteLine(b.Count);

}

3.运行结果

Ctrl+F5组合键运行程序,运行结果如图5-11所示。

4.代码分析

可以看到,两个队列虽然定义方式不同,但队列中都没有元素,因此输出都为0

5-11  运行结果

5.3.2  元素入队

元素入队可以理解为现实生活中新开始排队的人员,按照排队的规则,只能排到队伍的末尾。队列中的规则也是这样,元素入队时排在队伍的末尾。元素入队的方法是Enqueue

下面通过一个实例演示元素入队的方法。

1.目的说明

创建一个Windows控制台应用程序,演示将元素入队的方式。

2.实现步骤

1)创建一个名为QueueIn的控制台应用程序项目。

2)修改Program.cs文件中Main方法的内容如下:

static void Main(string[] args)

{

    Queue a = new Queue();

 

    Console.WriteLine(a.Count);

 

    a.Enqueue(1);

    a.Enqueue(2);

    a.Enqueue(3);

    a.Enqueue(4);

    a.Enqueue(5);

 

    Console.WriteLine(a.Count);

}

3.运行结果

Ctrl+F5组合键运行程序,运行结果如图5-12所示。

5-12  运行结果

4.代码分析

可以看到,刚创建队列时队列中都没有元素,因此输出为0。随后向队列中添加了5个元素,因此队列中元素的个数为5个。第2个输出表明元素已经成功入队。

5.3.3  元素出队

在现实生活中的排队系统中,先排队的人先享受服务并先离开。在C#中的队列中,先入队的元素先出队。队列中元素的出队方法是Dequeue。下面通过一个实例演示元素出队的方式。

1.目的说明

创建一个Windows控制台应用程序,演示将元素出队的方式。

2.实现步骤

1)创建一个名为QueueOut的控制台应用程序项目。

2)修改Program.cs文件中Main方法的内容如下:

static void Main(string[] args)

{

    Queue a = new Queue();

    Console.WriteLine("元素个数:{0}",a.Count);

    a.Enqueue(1);

    a.Enqueue(2);

    a.Enqueue(3);

    a.Enqueue(4);

    a.Enqueue(5);

    Console.WriteLine("元素个数:{0}", a.Count);

    for (int i = 0; i < 5; i++)

    {

        Console.WriteLine(a.Dequeue());

    }

    Console.WriteLine("元素个数:{0}", a.Count);

3.运行结果

Ctrl+F5组合键运行程序,运行结果如图5-13所示。

5-13  运行结果

4.代码分析

可以看到,为队列添加完元素后,队列中元素的个数为5个。然后采用Dequeue方法使元素出队,元素出队的顺序与其入队的顺序相同。