队列Queue FIFO先进先出 栈Stack FILO先进后出

Posted 防空洞123

tags:

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //队列的特点就是先进先出
            Queue<string> queue = new Queue<string>();
            queue.Enqueue("张三");   //入队  将对象添加到 System.Collections.Generic.Queue<T> 的结尾处。
            queue.Enqueue("李四");
            queue.Enqueue("王五");

            int queueCount = queue.Count(); //返回序列中元素的数量

            string name = queue.Dequeue(); //出队 把队首的元素移除,并将这移除的元素返回。
            Console.WriteLine(name); //输出“张三” 

            name = queue.Dequeue(); //因为“张三”已经被移除了。所以现在是“李四”是在队首了
            Console.WriteLine(name); //输出“李四”

            name = queue.Dequeue(); //因为“李四”也被移除了,所以队列中就只剩下王五了。
            Console.WriteLine(name); //输出“王五”

           
            //------------------------------------------------------------

            //栈的特点就是先进后出(了解下就可以了,用的不多)
            Stack<string> stack = new Stack<string>();
            stack.Push("张三"); //入栈, 将对象插入 System.Collections.Generic.Stack<T> 的顶部。
            stack.Push("李四"); 
            stack.Push("王五");

            int stackCount= stack.Count(); //返回栈中的数量
            string name1 = stack.Pop(); //出栈。把栈首的元素移除,并将移除的元素返回。
            Console.WriteLine(name); //输出:“王五”

            name1 = stack.Pop();
            Console.WriteLine(name1);//输出:“李四”

            
            name1 = stack.Pop();
            Console.WriteLine(name1);//输出:“张三”

            
            //name1 = stack.Peek(); //这是返回栈首的对象,但是不将它移除
            Console.ReadKey();

        }
    }
}

  

以上是关于队列Queue FIFO先进先出 栈Stack FILO先进后出的主要内容,如果未能解决你的问题,请参考以下文章

栈和队列

队列 栈 事件

数据结构与算法队列

用两个栈实现一个队列

算法---队列

栈、队列中“先进先出”,“后进先出”的含义