C#集合类Queue

队列(Queue)在程序设计中扮演着重要的角色,因为它可以模拟队列的数据操作。例
如,排队买票就是一个队列操作,后来的人排在后面,先来的人排在前面,并且买票请求
先被处理。为了模拟队列的操作,Queue在ArrayList的基础上加入了以下限制

 

1.元素采用先入先出机制(FIFO,First In First Out),即先进入队列的元素必须先离
开队列。最先进入的元素称为队头元素。
· 元素只能被添加到队尾(称为入队),不允许在中间的某个位置插入。也就是说,
不支持ArrayList中的Insert方法

 

2.只有队头的元素才能被删除(称为出队),不允许直接对队列中的非队头元素进行
删除,从而保证FIFO机制。也就是说,不支持ArrayList中的Remove方法。

 

3.不允许直接对队列中非队头元素进行访问。也就是说,不支持ArrayList中的索引访
问,只允许遍历访问

 

注意:

  1. Queue.Enqueue (object):向Queue中入队一个对象元素。
  2. Queue.Dequeue ():从Queue中出队一个对象元素,并将此元素返回。

 

举例:

        private void button_测试Queue_Click(object sender, EventArgs e)
        {
            string[] cars = new string[] { "宝马", "奔驰", "奥迪", "东风", "劳斯莱斯" };
            Console.WriteLine("开始入队列");
            Queue<string> que = new Queue<string>();
            foreach (string str in cars)
            {
                que.Enqueue(str);
                Console.WriteLine("入队列-{0}",str);
            }
            Console.WriteLine();

            //打印队列
            PrintQueue(que);

            Console.WriteLine();
            Console.WriteLine("开始出队列");
            while (que.Count > 0)
            {
                string str = que.Dequeue();
                Console.WriteLine("出队列-{0}", str);
            }
        }

        private void PrintQueue(Queue<string> list)
        {
            Console.WriteLine("开始打印队列");
            foreach (string str in list)
            {
                Console.WriteLine(str);
            }
        }

      ----------运行结果----------------

    

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值