Stack and queue.
队列的定义及基本运算
1、定义
队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表
(1)允许删除的一端称为队头(Front)。
(2)允许插入的一端称为队尾(Rear)。
(3)当队列中没有元素时称为空队列。
(4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。
队列的修改是依先进先出的原则进行的。新来的成员总是加入队尾(即不允许"加塞"),每次离开的成员总是队列头上的(不允许中途离队),即当前"最老的"成员离队。
【例】在队列中依次加入元素a1,a2,…,an之后,a1是队头元素,an是队尾元素。退出队列的次序只能是a1,a2,…,an。
2、队列的基本逻辑运算
(1)InitQueue(Q)
置空队。构造一个空队列Q。
(2)QueueEmpty(Q)
判队空。若队列Q为空,则返回真值,否则返回假值。
(3) QueueFull(Q)
判队满。若队列Q为满,则返回真值,否则返回假值。
注意:
此操作只适用于队列的顺序存储结构。
(4) EnQueue(Q,x)
若队列Q非满,则将元素x插入Q的队尾。此操作简称入队。
(5) DeQueue(Q)
若队列Q非空,则删去Q的队头元素,并返回该元素。此操作简称出队。
(6) QueueFront(Q)
若队列Q非空,则返回队头元素,但不改变队列Q的状态。
详细说明可以参考链接:
http://student.zjzk.cn/course_ware/data_structure/web/zhanhuoduilie/zhanhuoduilie3.2.1.htm
转载于:https://www.cnblogs.com/AlwaysOnLines/p/3979263.html
Stack and queue.相关推荐
- C++知识点25——使用C++标准库(容器适配器stack、queue、priority_queue)
除了vector,list,deque等常用的容器,还有根据这些常用的容器进行改造来满足特殊要求的容器,这些特殊容器的行为和常用容器很相近,也称为容器适配器. 常用的容器适配器有三个,分别是stack ...
- STL源码剖析学习七:stack和queue
STL源码剖析学习七:stack和queue stack是一种先进后出的数据结构,只有一个出口. 允许新增.删除.获取最顶端的元素,没有任何办法可以存取其他元素,不允许有遍历行为. 缺省情况下用deq ...
- 【小白学习C++ 教程】二十二、C++ 中的STL容器stack、queue和map
@Author:Runsen STL 中的栈容器是一种容器适配器.在栈容器中,元素在一端插入并在同一端删除. stack 为了实现堆栈容器,我们需要在我们的程序中包含头文件<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 ...
- java中List、Map、Set、Collection、Stack、Queue等的使用
java中这几个东西是比较常用的,虽然我用的不多,也正是因为用的不多,所以我一直搞不清楚他们之间的具体用法以及相互之间的关系,现在特单独作为一个东西来总结一下. 本文参考一下资料: 1.<jav ...
- Brush notes:stack、queue、heap
文章目录 stack.queue.heap's API 225. 用队列实现栈 232. 用栈实现队列 155. 最小栈 POJ1363. 合法的出栈序列 224. 基本计算器 215. 数组中的第K ...
- 6-5-1:STL之stack和queue——stack和queue的快速入门、常用接口以及适配器的概念
文章目录 一:简单介绍 (1)stack (2)queue 二:stack和queue的应用 三:stack和queue的模拟实现--适配器 一:简单介绍 stack和queue是STL中的两个容器, ...
- Stack与queue的底层实现、区别。
一.stack(栈):先进后出 1.栈是一种只能从表的一端存取数据且遵循 "先进后出" 原则的线性存储结构. 栈的开口端被称为栈顶:相应地,封口端被称为栈底. 向栈中添加元素,此过 ...
- C++---容器适配器(stack、queue、priority_queue)
容器适配器 首先我们要知道容器适配器是干啥的. 我们可以简单的将容器适配器当做一个接口装置.有的电脑上没有数据转接口,但是有usb接口,这是我们没必要重新买一个电脑,我们可以做一个usb数据转接线.而 ...
最新文章
- 剑指offer22:栈的压入、弹出序列
- Nginx 之五: Nginx服务器的负载均衡、缓存与动静分离功能
- 数据挖掘Apriori算法
- java 日期 运算
- 人人都能做游戏!3D次世代CE云端引擎发布
- Ethernet帧和802.3帧区别
- python3列表_Python3 列表List(十一)
- pandas 学习(二)—— pandas 下的常用函数
- 彻底解决Eclipse的控制台console按钮非常小
- linux消息队列编程实例
- sqlserver 中通配符%和_的使用
- 架构运维篇(三):Centos7/Linux安装部署Nginx+多Tomcat负载均衡入门实践
- BeyondCompare3提示许可密钥过期完美解决方法
- HTML分页打印。Web打印控件,完美解决页面排版、结构复杂,内容、图片、表格跨页断裂,自定义页面设置、页眉、页脚、页码,保持原文CSS等难题
- 杭州五大湖风景名胜区
- init: wait for '/dev/block/bootdevice/by-name/cache' timed out and took 5007ms【学习笔记】
- 大学计算机专业学习哪些课程?
- SPIR-V 研究:编译器基本原理(二)
- 2015美亚杯团队赛
- Visual Paradigm 如何清除系统代理设置
热门文章
- SQL创建表语句文档
- PIX failover+负载
- 因特尔显卡自定义分辨率_蓝宝石RX 5600XT 6G D6 白金版OC显卡评测:两千价位段好选择...
- Python中相见恨晚的技巧
- android编程fragment,Android中关于FragmentA嵌套FragmentB的问题
- linux fio释放内存,linux使用FIO测试磁盘的iops
- mysql的多表操作_Mysql-多表连接的操作和用法
- java最长同值路径_687.最长同路径值
- /proc/diskstats各字段解析
- 7个让你惊叹的HTML技巧