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所示:
图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:
图3.1.28
Stack和Queue:后进先出和先进先出相关推荐
- C++知识点25——使用C++标准库(容器适配器stack、queue、priority_queue)
除了vector,list,deque等常用的容器,还有根据这些常用的容器进行改造来满足特殊要求的容器,这些特殊容器的行为和常用容器很相近,也称为容器适配器. 常用的容器适配器有三个,分别是stack ...
- C++ STL : 模拟实现STL中的容器适配器stack和queue
目录 什么是容器适配器 stack stack的文档介绍-(来自cplusplus) stack的实现 queue queue的文档介绍-(来自cplusplus) queue的实现 什么是容器适配器 ...
- C++中的deque、stack、queue及priority_queue
C++中的deque.stack.queue及priority_queue 文章目录 C++中的deque.stack.queue及priority_queue 一.deque 二.stack 三.q ...
- Stack与queue的底层实现、区别。
一.stack(栈):先进后出 1.栈是一种只能从表的一端存取数据且遵循 "先进后出" 原则的线性存储结构. 栈的开口端被称为栈顶:相应地,封口端被称为栈底. 向栈中添加元素,此过 ...
- STL库:stack和queue
STL库:stack和queue 文章目录 STL库:stack和queue 1.STL库中stack的官方介绍 2.stack的常用接口 3.stack的模拟实现 4.STL库中queue的官方介绍 ...
- C++stack与queue模拟实现
愿煦风和日永远卫护着可爱的你. stack与queue模拟实现 stack queue 为什么选择deque作为stack和queue的底层默认容器 在stl中,stack(栈)与queue(队列)都 ...
- C#常见容器ArrayList、List、HashSet、Hashtable 、Dictionary、Stack、Queue
一.ArrayList.List< T >列表和HashSet< T >哈希集 1.简单介绍及区别: 命名空间 System.Collections:ArrayList Sys ...
- stack、queue和priority_queue
目录 一.栈(stack) 1.stack的使用 2.容器适配器 3.stack的模拟实现 二.队列(queue) 1.queue的使用 2.queue的模拟实现 三.双端队列(deque) 1.ve ...
- c++--stack,queue,priority_queue
前言 对于栈和队列我们是不陌生的,在数据结构阶段已经学习过,记得当时我们还是用c语言将它一步一步造出来,因为压栈与出栈正好满足数组的尾插与头删,数组的代价是及小的.对于队列是头出队列,尾插.所以就栈的 ...
最新文章
- 第十六届智能车竞赛线上全国总决赛远程组委会监督腾讯会议
- C++学习网站。两个 CodeProject,Codeguru
- org.apache.hadoop.ipc.Client: Retrying connect to server异常的解决
- 虚拟化技术中,为什么说容器技术暂时将不会取代虚拟机模式
- android控件的对齐方式(转)
- 修改FTP服务器端口后无法访问
- 苹果电脑上超级好用的双栏文件管理器Commander One PRO版推荐给大家!
- HTML5自定义属性
- poj 3411 Paid Roads
- 最新,87本SCI/SSCI期刊被剔除,这5本TOP刊也在内?
- python+pytesseract本地pdf识别转文字,图片识别转文字,避坑大量识别转文字时的内存泄露问题解决
- Python入门-类的成员
- 对“黑暗森林”的质疑和讨论(总结各家言论)
- 王祥林 计算机专业英语答案,计算机专业英语 第3版 配套习题 作者 王祥林 陈静姣 模拟试题1.doc...
- 基于时间序列分析方法的零售业快消品销量预测研究
- python爬虫自动提交HDU并获取AC状态(p3+request+Beatifulsoup)
- 光功率显示c语言程序,c语言程序设计 - 三电实验教学中心.doc
- 程序员成就技术大拿之路
- 浅谈WaterMark
- Linux : Screen 详解