堆栈:先进后出
队列:先进先出
日常生活中队列很常见。还有什么堆栈的典型例子?
夏天逛超市时,你可能会忍不住想喝一瓶冰饮料降降温。
可是,困扰你的是:放冰箱外头的饮料往往并不冰,而冰箱深处你够不着的地方,才是你想要的。
想想看:冰箱中的饮料应该组织成“队列”还是“堆栈”?你对超市中的冰箱设计有什么改进性的建议?
比如交试卷,假设学生交试卷的方向都统一,且后来的学生都放在先来学生试卷之上。
如果都是正面朝上交,那么就是一个堆栈。
如果都是正面朝下交,那么就是一个队列。
跟冰箱一个例子的还有坐电梯,先进后出。交作业,先交的放在下面。弹匣就是堆栈。
冰箱中的饮料应该组织成“队列”;可以设计成像自动售货机一样竖直摆放的,从最上面放入,从最下面拿取;
我们常见的冰箱应该是堆栈,先进后出
而如果需要尽可能的能拿到最冰的则需要队列,先进先出。
相关文章
- jvm调优之四:生产环境参数实例及分析【生产环境实例增加中】
- SpringTest框架JUnit单元测试用例获取ApplicationContext实例的方法
- 【BlockingQueue】BlockingQueue 阻塞队列实现
- C++ 队列(queue)堆栈(stack)实现基础
- 队列的实现——c++
- MySQL 5.7安装(多实例)最佳实践
- 在Ubuntu 18.04上安装Linux、Nginx、MySQL、PHP(LEMP堆栈)的方法
- java中实例化子类时会不会调用父类的构造方法?
- 消息队列】RabbitMQ如何处理消息丢失
- 第33讲 UI组件_进度条ProcessBar和消息队列处理器handler