zoukankan      html  css  js  c++  java
  • Stack和Queue:后进先出和先进先出

    Queue是先进先出的集合而Stack是后进先出的集合。这两个集合在日常的工作中也经常会用到。Queue相当我们去银行柜台排队,大家依次鱼贯而行。Stack象我们家中洗碗,最后洗好的碗叠在最上面,而下次拿的时候是最先拿到最后叠上去的碗。了解了这样场景,就很容易明白Stack和Queue可用在哪里了。

    比如我们为医院作一个排队叫号的系统,那肯定是选择Queue对象处理。如果我们要为出牌或下棋准备一个场景,那肯定是选择Stack,因为通过Stack至少可用提供用户悔棋啊。

    以下是Queue的代码演示:

    System.Collections.Queue q = new System.Collections.Queue();

    for (int i = 0; i <= 10; i++)

    {

    q.Enqueue(i);//入队

    }

    System.Console.WriteLine(q.Count);

    while (q.Count > 0)

    {

    System.Console.WriteLine(q.Dequeue());//出队

    }

    运行的结果如图3.1.27所示:

    clip_image002

    图3.1.27

    以下是Stack的代码演示:

    System.Collections.Stack s = new System.Collections.Stack();

    for (int i = 0; i <= 10; i++)

    {

    s.Push(i);//入栈

    }

    System.Console.WriteLine(s.Count);

    while (s.Count > 0)

    {

    System.Console.WriteLine(s.Pop());//出栈

    }

    虽然放置元素的次序和Queue一样,但取出的顺序正好相反,如图3.1.28:

    clip_image004

    图3.1.28

  • 相关阅读:
    centos 关于防火墙的命令
    jsp 时间格式
    @OneToMany
    CentOS7 关闭防火墙
    Centos系统中彻底删除Mysql数据库
    电脑装windows与Centos双系统时引导问题
    如何用C#代码查找某个路径下是否包含某个文件
    计算机中的正斜杠(/)与反斜杠()的区别
    MVC小例子
    vs怎么创建MVC及理解其含义
  • 原文地址:https://www.cnblogs.com/shyleoking/p/1535505.html
Copyright © 2011-2022 走看看