C# Queue(队列)
是最常见的数据结构之一,队列是一种先进先出的结构,即元素从队列尾部插入,从队列的头部移除(从一端入,另外一端出),类似于日常生活中战队。
Queue类提供了4个构造方法,如下
法 | 作用 |
---|---|
Queue() | 创建 Queue 的实例,集合的容量是默认初始容量 32 个元素,使用默认的增长因子 |
Queue(ICollection col) | 创建 Queue 的实例,该实例包含从指定实例中复制的元素,并且初始容量与复制的元素个数、增长因子相同 |
Queue(int capacity) | 创建 Queue 的实例,并设置其指定的元素个数,默认增长因子 |
Queue(int capacity, float growFactor) | 创建 Queue 的实例,并设置其指定的元素个数和增长因子 |
增长因子是指当需要扩大容量是,以当前的容量值乘以增长因子的值来自动增加容量
示例:
完整代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace ConsoleApplication1 9 { 10 public class Queue队列 11 { 12 public static void Main(string[] age) 13 { 14 //声明队列,在队列加3个打饭人 15 Queue que = new Queue(); 16 que.Enqueue("小美"); 17 que.Enqueue("小爱"); 18 que.Enqueue("小甜"); 19 que.Enqueue("小蜜"); 20 21 Console.WriteLine("开始打饭"); 22 23 //while循环 24 while (que.Count != 0) 25 { 26 Console.WriteLine(que.Dequeue() + "打饭了");//Dequeue异常 27 } 28 29 //使用ToArray方法将Queue类的实例存放的值赋值到数组 30 object[] obj = que.ToArray(); 31 foreach (var v in obj) 32 { 33 Console.WriteLine(v + "打饭了"); 34 } 35 36 IEnumerator e = que.GetEnumerator(); 37 while (e.MoveNext()) 38 { 39 Console.WriteLine(e.Current + "打饭了"); 40 } 41 Console.ReadLine(); 42 } 43 } 44 }