• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
搬运工_阿壮
博客园    首页    新随笔    联系   管理    订阅  订阅

C#队列Queue用法实例分析

这篇文章主要介绍了C#队列Queue用法,实例分析了队列的功能、定义及相关使用技巧,需要的朋友可以参考下

本文实例分析了C#队列Queue用法。分享给大家供大家参考。具体分析如下:

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

1.元素采用先入先出机制(FIFO,First In First Out),即先进入队列的元素必须先离开队列。最先进入的元素称为队头元素。

元素只能被添加到队尾(称为入队),不允许在中间的某个位置插入。也就是说,不支持ArrayList中的Insert方法

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

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

注意:

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


举例:

  1.  
    private void button_测试Queue_Click(object sender, EventArgs e)
  2.  
    {
  3.  
    string[] cars = new string[]{"宝马","奔驰","奥迪","东风","劳斯莱斯"};
  4.  
    Console.WriteLine("开始入队列");
  5.  
    Queue<string> que = new Queue<string>();
  6.  
    foreach (string str in cars)
  7.  
    {
  8.  
    que.Enqueue(str);
  9.  
    Console.WriteLine("入队列-{0}",str);
  10.  
    }
  11.  
    Console.WriteLine();
  12.  
    //打印队列
  13.  
    PrintQueue(que);
  14.  
    Console.WriteLine();
  15.  
    Console.WriteLine("开始出队列");
  16.  
    while (que.Count > 0)
  17.  
    {
  18.  
    string str = que.Dequeue();
  19.  
    Console.WriteLine("出队列-{0}", str);
  20.  
    }
  21.  
    }
  22.  
    private void PrintQueue(Queue<string> list)
  23.  
    {
  24.  
    Console.WriteLine("开始打印队列");
  25.  
    foreach (string str in list)
  26.  
    {
  27.  
    Console.WriteLine(str);
  28.  
    }
  29.  
    }
 
posted @ 2019-10-15 14:08  搬运工_阿壮  阅读(4851)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3