zoukankan      html  css  js  c++  java
  • C#集合-队列

    本文来自:http://www.cnblogs.com/yangyancheng/archive/2011/04/28/2031615.html

    队列是其元素以先进先出(FIFO)的方式来处理的集合。先放在队列中的元素会先读取。队列的例子有在机场排的队、人力资源部中等待处理求职信的队列、打印队列中等待处理的打印任务、以循环方式等]处理的线程。另外,还常常有元素根据其优先级来处理的队列。例如,在机场的队列中,商务舱乘客的处理要优先于经济舱的乘客。这里可以使用多个队列,一个队列对应一个优先级。在机场,这是很常见的,因为商务舱乘客和经济舱乘客有不同的登记队列。打印队列和线程也是这样。可以为一组队列建立一个数组,数组中的一项代表一个优先级。在每个数组项中,都有一个队列,其处理按照的方式进行。

    复制代码
    #region 队列测试
    /// <summary>
    /// 队列测试
    /// </summary>
    public class TestQueue
    {
    public void TestQueueMethod()
    {
    Queue<string> strList = new Queue<string>();
    ///向队列加入元素
    strList.Enqueue("阳光");
    strList.Enqueue("水");
    strList.Enqueue("空气");
    ///遍历元素
    foreach (var item in strList)
    {
    Console.WriteLine(item);
    }
    ///队长长度
    Console.WriteLine(strList.Count);
    ////取出最先加进去的元素,并删除,充分体现队列的先进先出的特性
    ///如队列中无元素,则会引发异常
    //string mes = strList.Dequeue();
    //Console.WriteLine(mes);

    /////取出这个元素后,遍历队列
    /////
    //foreach (var item in strList)
    //{
    // Console.WriteLine(item);
    //}
    ///取出最先入队的元素,但并不删除
    string mes = strList.Peek();
    Console.WriteLine(mes);
    ///遍历队列,仍为三个元素
    ///
    foreach (var item in strList)
    {
    Console.WriteLine(item);
    }

    ///直接获得队列中的某个元素,
    ///如果索引越界,会引发异常
    string s = strList.ElementAt(1);
    Console.WriteLine(s);
    ///直接获得队列中的某个元素,
    ///如果索引越界,则会返回null,但不引发异常
    Console.WriteLine( strList.ElementAtOrDefault(5));
    }
    }
    #endregion
  • 相关阅读:
    JS 表单submit() 提交无效的问题
    thinkphp中连接oracle时封装的方法无法用
    Struts2 开发流程(转)
    oracle wm_concat(column)函数的使用(转)
    js点击按钮后显示时间自动减少提示
    Windows Server 2008 R2安装过程
    Spring学习之旅(1) 第一个Controller
    Groovy系列 Groovy集合
    Groovy系列 安装Groovy
    VMWare实现共享目录
  • 原文地址:https://www.cnblogs.com/zhouyunbaosujina/p/4045939.html
Copyright © 2011-2022 走看看