stack栈和Queue队列

Posted sunshine_96

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stack栈和Queue队列相关的知识,希望对你有一定的参考价值。

1.push将对象插入 System.Collections.Generic.Stack<T> 的顶部。

Stack st = new Stack(); //栈是先进后出
st.Push(1);
st.Push(2);
st.Push(3);
st.Push(4);

2.peek读栈

 (1)

foreach (var item in st) //读栈的时候读的是栈的“上面”
{
Console.WriteLine(item);
}

(2)
Console.WriteLine(st.Peek());

3.Pop()移除并返回位于栈顶部的对象

 

foreach (var item in st) //读栈的时候读的是栈的“上面”
{
Console.WriteLine(item);
}
//Console.WriteLine(st.Peek());

Console.WriteLine("**********");
st.Pop();

foreach (var item in st) //读栈的时候读的是栈的“上面”
{
Console.WriteLine(item);

 

4.clear清除栈内所有内容

foreach (var item in st) //读栈的时候读的是栈的“上面”
{
Console.WriteLine(item);
}
//Console.WriteLine(st.Peek());

Console.WriteLine("**********");

st.Clear();
foreach (var item in st)
{
Console.WriteLine(item);
}

 

——————————————————————————————————

Queue队列  :先进先出

1.Enqueue将对象添加到Queue的结尾处

Queue qu = new Queue();
qu.Enqueue(1);
qu.Enqueue(2);
qu.Enqueue(3);
qu.Enqueue(4);

2.Peek 返回位于Queue开始处的对象但不将其移除(读队)

(1) Console.WriteLine(qu.Peek());

(2)

        foreach (var item in qu)
       {
         Console.WriteLine(item);
       }
      

3.Dequeue移除并返回Queue开始处的对象

Console.WriteLine(qu.Dequeue());
Console.WriteLine("*********");
foreach (var item in qu)
{
Console.WriteLine(item);
}

4.clear清除所有元素 和 栈一样

 

以上是关于stack栈和Queue队列的主要内容,如果未能解决你的问题,请参考以下文章

C++栈和队列(stack&queue)

Coursera Algorithms week2 栈和队列 Interview Questions: Queue with two stacks

C++ 栈和队列 容器适配器

C++ 栈和队列 容器适配器

C++ 栈和队列 容器适配器

C++ 栈和队列 容器适配器