堆栈和队列
堆栈
堆栈类表示一个后进先出的对象集合,当需要对项目进行后进先出的访问时,则可以使用堆栈。向堆栈中添加元素称为推入元素,从堆栈中移除元素称为弹出元素。
关键字: Stack
stack常用属性 :
属性 | 描述 |
Count | 获取堆栈中包含的元素个数 |
IsSynchronized | 判断是否同步对堆栈的访问(线程安全) |
SyncRoot | 获取可用于同步对堆栈访问的对象 |
Stack 类中一些常用的方法:
方法名 | 描述 |
public virtual void Clear() | 从堆栈中移除所有的元素 |
public virtual bool Contains(object obj) | 判断某个元素是否在堆栈中 |
public virtual object Peek() | 返回在堆栈顶部的对象,但不移除它 |
public virtual object Pop() | 移除并返回在堆栈顶部的对象 |
public virtual void Push(object obj) | 向堆栈顶部添加一个对象 |
public virtual object[] ToArray() | 复制堆栈到一个新的数组中 |
堆栈实例
队列
队列(Queue 类)与[堆栈](https://c.biancheng.net/csharp/stack.html)类似,它代表了一个先进先出的对象集合,当您需要对项目进行先进先出访问时,则可以使用队列。向队列中添加元素称为入队(enqueue),从堆栈中移除元素称为出队(deque)。
关键字: Queue
Queue 类的一些常用的属性:
属性 | 描述 |
Count | 获取队列中包含的元素个数 |
IsSynchronized | 判断是否同步对队列的访问(线程安全) |
SyncRoot | 获取可用于同步对队列访问的对象 |
Queue 类的一些常用的方法:
方法名 | 描述 |
public virtual void Clear() | 从队列中移除所有的元素 |
public virtual bool Contains(object obj) | 判断某个元素是否在队列中 |
public virtual object Dequeue() | 移除并返回在队列开头的对象 |
public virtual void Enqueue(object obj) | 向队列的末尾处添加一个对象 |
public virtual object[] ToArray() | 复制队列到一个新的数组中 |
public virtual void TrimToSize() | 将队列的容量设置为队列中元素的实际个数 |