队列(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