标签:使用 集合 virtual ext 设置 obj 移除 height 实现
队列 (Queue)
队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则可使用队列。当能在列表中添加一项,称为入列,当您从列表中移除一项时,称为出列。
属性
属性 | 描述 |
Count | 获取 Queue 中包含的元素个数。 |
方法
方法 | 描述 |
public virtual void Clear(); | 从 Queue 中移除所有的元素。 |
public virtual bool Contains( object obj ); | 判断某个元素是否在 Queue 中。 |
public virtual object Dequeue(); | 移除并返回在 Queue 的开头的对象。 |
public virtual void Enqueue( object obj ); | 向 Queue 的末尾添加一个对象。 |
public virtual object[] ToArray(); | 复制 Queue 到一个新的数组中。 |
public virtual void TrimToSize(); | 设置容量为 Queue 中元素的实际个数。 |
实例
static void Main(string[] args)
{
Queue q = new Queue();
q.Enqueue("A");
q.Enqueue("B");
q.Enqueue("C");
q.Enqueue("D");
Console.WriteLine("当前所有队列: ");
foreach (string c in q)
{
Console.Write(c + " ");
}
Console.WriteLine();
q.Enqueue("K");
q.Enqueue("P");
Console.WriteLine("当前所有队列: ");
foreach (string c in q)
{
Console.Write(c + " ");
}
Console.WriteLine();
Console.WriteLine("开始移除部分元素: ");
string str = (string)q.Dequeue();
Console.WriteLine("当前移除的元素:{0}", str);
str= (string)q.Dequeue();
Console.WriteLine("当前移除的元素:{0}", str);
object[] obj = q.ToArray();
q.Clear();
Console.ReadKey();
}
栈 (Stack)
堆栈(Stack) 代表了一个后进先出的对象集合。当您需要对各项进行后进先出访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。
属性
属性 | 描述 |
Count | 获取 Stack 中包含的元素个数。 |
方法
方法 | 描述 |
public virtual void Clear(); | 从 Stack 中移除所有的元素。 |
public virtual bool Contains( object obj ); | 判断某个元素是否在 Stack 中。 |
public virtual object Peek(); | 返回在 Stack 的顶部的对象,但不移除它。 |
public virtual object Pop(); | 移除并返回在 Stack 的顶部的对象。 |
public virtual void Push( object obj ); | 向 Stack 的顶部添加一个对象。 |
public virtual object[] ToArray(); | 复制 Stack 到一个新的数组中。 |
实例
static void Main(string[] args)
{
Stack st = new Stack();
st.Push(‘A‘);
st.Push(‘B‘);
st.Push(‘C‘);
st.Push(‘D‘);
Console.WriteLine("当前堆栈: ");
foreach (char c in st)
{
Console.Write(c + " ");
}
Console.WriteLine();
st.Push(‘V‘);
st.Push(‘H‘);
Console.WriteLine("堆栈中下一个可能执行的值: {0}",st.Peek());
Console.WriteLine("当前堆栈: ");
foreach (char c in st)
{
Console.Write(c + " ");
}
Console.WriteLine();
Console.WriteLine("移除堆栈中顶部的值:{0}", st.Pop());
//判断是否包含 ‘V’
bool isContain = st.Contains(‘V‘);
Console.WriteLine("当前堆栈: ");
foreach (char c in st)
{
Console.Write(c + " ");
}
st.Clear();
Console.ReadKey();
}
队列(Queue)和栈 (Stack)区别
相同点
不同点
标签:使用 集合 virtual ext 设置 obj 移除 height 实现
原文地址:https://www.cnblogs.com/Struggle-xh/p/10370175.html