c#队列Queue学习示例分享
集合>队列Queue>创建队列
System.Collections.Queue类提供了四种重载构造函数。
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//使用默认构造函数构造Queue
Queue qu = new Queue();
qu.Enqueue("队列元素一");
qu.Enqueue("队列元素二");
qu.Enqueue(null);
//使用实现了ICollection接口的类实例,此处是数组列表,构造Queue
Queue qu2 = new Queue(new string[5] { "队列元素一", "队列元素二", "队列元素三", "队列元素四", "队列元素五" });
//使用初始容量为20个元素构造Queue.
Queue qu3 = new Queue(20);
//使用初始容量为20个元素,等比因子为2来构造Queue.
Queue qu4 = new Queue(20, 2);
}
}
}
等比因子是指,当前容量是5,希望容量扩充大时一次性扩大到10,则等比因子为2.
Queue默认容量是32个元素。
集合>队列Queue>元素的入队和出队
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Queue qu = new Queue();
qu.Enqueue("元素一");
qu.Enqueue("元素二");
qu.Enqueue("元素三");
qu.Enqueue("元素四");
qu.Enqueue("元素五");
Console.WriteLine("原始队列如下所示:");
DisplayResult(qu);
qu.Dequeue();
Console.WriteLine("移除第一个元素后");
DisplayResult(qu);
qu.Dequeue();
Console.WriteLine("移除第二个元素后");
DisplayResult(qu);
Console.ReadLine();
}
static void DisplayResult(Queue qu)
{
foreach (object s in qu)
{
Console.WriteLine(s);
}
}
}
}