栈和队列区别
-
栈
:先进后出 -
队列
:先进先出
栈
- 引用声明
using System.Collections;
Stack s = new Stack();
- 压栈处理
// 压栈处理
s.Push("Hello World ~");
s.Push("A");
s.Push("B");
s.Push("C");
foreach (object obj in s) {
Console.WriteLine(obj); // C B A Hello World ~
}
- 获取栈顶的元素
// 获取栈顶的元素
Console.WriteLine(s.Peek()); // C
- 将栈顶元素出栈
// 将栈顶元素出栈,出栈方法返回出栈的元素
Console.WriteLine(s.Pop()); // C
foreach (object obj in s) {
Console.WriteLine(obj); // B A Hello World ~
}
队列
- 引用声明
using System.Collections;
Queue q = new Queue();
- 将元素放入队列
q.Enqueue("Hello World ~");
q.Enqueue("A");
q.Enqueue("B");
q.Enqueue("C");
foreach (object obj in q)
{
Console.WriteLine(obj); // Hello World ~ A B C
}
- 获取队列开始元素
Console.WriteLine(q.Peek()); // Hello World ~
- 将队列开始元素移除
Console.WriteLine(q.Dequeue()); // Hello World ~
foreach (object obj in q)
{
Console.WriteLine(obj); // A B C
}