目录
该类在 System.Collections.Generic 命名空间。
Queue<T> 类 中的元素都是 先进先出的。
Queue<T> Constructors
static void Main(string[] args)
{
string[] temp = { "huang", "cheng", "tao" };
var numbers = new Queue<string>(); // 使用默认构造函数初始化,该实例为空并且具有默认初始容量。
// 该实例包含从指定集合复制的元素并且具有足够的容量来容纳所复制的元素。
var queueCopy = new Queue<string>(temp);
var queueCopy2 = new Queue<string>(new string[] { "sda","da" });
var dinosaurs = new Queue<string>(10); //该实例为空并且具有指定的初始容量。
}
Property
Queue<T>.Count
public int Count { get; }
- 获取 Queue<T> 中所有的元素数。
- 此操作的复杂度为 O(1)。
Methods
Queue<T>.Clear
public void Clear ();
Queue<T>.Contains
public bool Contains (T item);
- 确定 item 元素 是否在 Queue<T> 中。 对于引用类型,该值可以为
null
。如果在 Queue<T> 中找到item,则返回true; 否则,false。- 此方法执行线性搜索;因此,此方法为 O (
n
) 操作,其中n
是Count。static void Main(string[] args) { Queue<string> numbers = new Queue<string>(); numbers.Enqueue("one"); numbers.Enqueue("two"); numbers.Enqueue("three"); numbers.Enqueue("four"); numbers.Enqueue("five"); if(numbers.Contains("one")) { WriteLine("在numbers 中!"); } else WriteLine("不在numbers 中!"); }
Queue<T>.Dequeue
public T Dequeue ();
- 把 Queue<T> 队首的元素删除。
- 如果 Queue<T> 为空。 抛出 InvalidOperationException
- 此方法类似于 Peek 方法,但 Peek 不会修改 Queue <T>。
- 如果类型T是引用类型,则可以将null作为值添加到Queue <T>。
- 此方法为 o (1) 运算。
Queue<T>.Enqueue
public void Enqueue (T item);
Queue<T>.Peek
public T Peek ();
Queue<T>.ToArray
public T[] ToArray ();
- 将 Queue<T> 中的元素 拷贝到 一个 T 类型的数组中去。
- 该操作是使用 Array.Copy 复制元素,这是一个O(n)操作,其中 n 是 Count
- Queue<T> 中的元素未被修改。 新数组中元素的顺序与从Queue <T>开头到结尾的元素顺序相同。
- 此方法为 O (n) 操作,其中n是Count。
static void Main(string[] args) { string[] input = { "Brachiosaurus", "Amargasaurus", "Mamenchisaurus" }; var dinosaurs = new Queue<string>(input); string[] temp = dinosaurs.ToArray(); foreach (var tt in temp) { WriteLine(tt); } }
Queue<T>.TrimExcess
public void TrimExcess ();
End.....