C# Queue (队列)

队列(Queue):模拟队列的数据操作。

例如,排队买票就是一个队列操作,后来的人排在后面,先来的人排在前面,并且买票请求先被处理。为了模拟队列的操作,Queue在ArrayList的基础上加入了以下限制

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

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

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

 

using System;
using System.Collections.Generic;
using System.Linq;

namespace rooxml
{
    public class main
    {

        public static void Main ()
        {
            Queue<A> que = new Queue<A> ();
            que.Clear ();
            que.Enqueue (new A(){k=11, v="i am fw"});
            que.Enqueue (new A(){k=6, v="i am 66"});
            que.Enqueue (new A(){k=55, v="i am cvjar"});
            foreach (var r in que) {
                Console.WriteLine (r.k);
            }

            Console.WriteLine (que.Peek ().k + " " + que.Peek().v);   //栈顶值
            Console.WriteLine (que.Count);
            Console.WriteLine ();

            que.Dequeue ();   //删除栈顶

            foreach (var r in que) {
                if (r.k == 55) {
                    Console.WriteLine (r.k);
                }

            }

            Console.WriteLine ();
        }
    }

    class A{
        public int k{ get; set;}
        public string v{ get; set; }
    }
}

 

转载于:https://www.cnblogs.com/nnnnn/p/4463134.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值