欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#队列Queue用法实例分析

程序员文章站 2022-08-03 21:51:41
本文实例分析了c#队列queue用法。分享给大家供大家参考。具体分析如下: 队列(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中出队一个对象元素,并将此元素返回。


举例:

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);
 }
}

运行结果如下图所示:

C#队列Queue用法实例分析

希望本文所述对大家的c#程序设计有所帮助。