C# 浅析Queue队列
来源:互联网 发布:跨境网络诈骗的特点 编辑:程序博客网 时间:2024/05/22 14:45
1、Queue定义
System.Collections.Queue类表示对象的先进先出集合,存储在 Queue(队列) 中的对象在一端插入,从另一端移除。
2、优点
1、能对集合进行顺序处理(先进先出)。
2、能接受null值,并且允许重复的元素。
3、 Queue的构造器
构造器函数
注释
Queue ()
初始化 Queue 类的新实例,该实例为空,具有默认初始容量(32)并使用默认增长因子(2.0)。
Queue (ICollection)
初始化 Queue 类的新实例,该实例包含从指定集合复制的元素,具有与所复制的元素数相同的初始容量并使用默认增长因子。
Queue (Int32)
初始化 Queue 类的新实例,该实例为空,具有指定的初始容量并使用默认增长因子。
Queue (Int32, Single)
初始化 Queue 类的新实例,该实例为空,具有指定的初始容量并使用指定的增长因子。
4、Queue的属性
属性名
注释
Count
获取 Queue 中包含的元素数。
5. Queue的方法
方法名
注释
Void Clear()
从 Queue 中移除所有对象。
Bool Contains(object obj)
确定某元素是否在 Queue 中。
Object Clone()
创建 Queue 的浅表副本。
Void CopyTo(Array array,int index)
从指定数组索引开始将 Queue 元素复制到现有一维 Array 中。
Object Dequeue()
移除并返回位于 Queue 开始处的对象。
Void Enqueue(object obj)
将对象添加到 Queue 的结尾处。
Object Peek()
返回位于 Queue 开始处的对象但不将其移除。
Object[]ToArray()
将 Queue 元素复制到新数组。
Void TrimToSize()
将容量设置为 Queue 中元素的实际数目。
6、Queue的使用示例
class
Program
{
static
void
Main(
string
[] args)
{
//创建一个队列
Queue myQ =
new
Queue();
myQ.Enqueue(
"The"
);
//入队
myQ.Enqueue(
"quick"
);
myQ.Enqueue(
"brown"
);
myQ.Enqueue(
"fox"
);
myQ.Enqueue(
null
);
//添加null
myQ.Enqueue(
"fox"
);
//添加重复的元素
// 打印队列的数量和值
Console.WriteLine(
"myQ"
);
Console.WriteLine(
"\tCount: {0}"
, myQ.Count);
// 打印队列中的所有值
Console.Write(
"Queue values:"
);
PrintValues(myQ);
// 打印队列中的第一个元素,并移除
Console.WriteLine(
"(Dequeue)\t{0}"
, myQ.Dequeue());
// 打印队列中的所有值
Console.Write(
"Queue values:"
);
PrintValues(myQ);
// 打印队列中的第一个元素,并移除
Console.WriteLine(
"(Dequeue)\t{0}"
, myQ.Dequeue());
// 打印队列中的所有值
Console.Write(
"Queue values:"
);
PrintValues(myQ);
// 打印队列中的第一个元素
Console.WriteLine(
"(Peek) \t{0}"
, myQ.Peek());
// 打印队列中的所有值
Console.Write(
"Queue values:"
);
PrintValues(myQ);
Console.ReadLine();
}
public
static
void
PrintValues(IEnumerable myCollection)
{
foreach
(Object obj
in
myCollection)
Console.Write(
" {0}"
, obj);
Console.WriteLine();
}
}
7.备注
1、Queue 的容量是 Queue 可以保存的元素数。Queue 的默认初始容量为 32。向 Queue 添加元素时,将通过重新分配来根据需要自动增大容量。可通过调用 TrimToSize 来减少容量。等比因子是当需要更大容量时当前容量要乘以的数字。在构造 Queue 时确定增长因子。默认增长因子为 2.0。
2、Queue 能接受空引用作为有效值,并且允许重复的元素。
3、空引用可以作为值添加到 Queue。若要区分空值和 Queue 结尾,请检查 Count 属性或捕捉 Queue 为空时引发的 InvalidOperationException异常。
- C# 浅析Queue队列
- 浅析 c# Queue
- 浅析 c# Queue
- 浅析 c# Queue
- C#队列Queue详解
- C# 队列(Queue)
- C#队列(Queue)
- C# 队列(Queue)
- C# 队列 QUEUE
- C#数据结构--队列Queue
- C# 队列 Queue
- Queue-C#数组构建队列
- C# 的Queue 队列方法
- C#队列,优先级,Queue类
- C# 队列(Queue)基础
- c# Queue 队列的使用
- c#中queue队列用法
- c# Queue 先进先出队列
- 为什么有了扫描版pdf还需要排版并不良好的文字版?
- 修改Mac终端下的默认用户名
- 推荐一个Android开发懒人库 -- ButterKnife
- 老版本向新版本u3d转换的几个问题
- 利用 shadowsocks 代理访问服务器
- C# 浅析Queue队列
- ggplot2绘制条形图
- servlet(三)-如何使用传参-三种转发方式、传递参数以及对象中数据的范围
- Android刮刮卡原理及实现
- vc小记。
- 关于ToonShader on iOS
- FreeSwitch:三、编译CSipSimple
- C实现头插法和尾插法来构建单链表(带头结点)
- hdu1016 Prime Ring Problem(回溯dfs)