队列的定义及基本运算

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.相关推荐

  1. C++知识点25——使用C++标准库(容器适配器stack、queue、priority_queue)

    除了vector,list,deque等常用的容器,还有根据这些常用的容器进行改造来满足特殊要求的容器,这些特殊容器的行为和常用容器很相近,也称为容器适配器. 常用的容器适配器有三个,分别是stack ...

  2. STL源码剖析学习七:stack和queue

    STL源码剖析学习七:stack和queue stack是一种先进后出的数据结构,只有一个出口. 允许新增.删除.获取最顶端的元素,没有任何办法可以存取其他元素,不允许有遍历行为. 缺省情况下用deq ...

  3. 【小白学习C++ 教程】二十二、C++ 中的STL容器stack、queue和map

    @Author:Runsen STL 中的栈容器是一种容器适配器.在栈容器中,元素在一端插入并在同一端删除. stack 为了实现堆栈容器,我们需要在我们的程序中包含头文件<stack>. ...

  4. C++ STL : 模拟实现STL中的容器适配器stack和queue

    目录 什么是容器适配器 stack stack的文档介绍-(来自cplusplus) stack的实现 queue queue的文档介绍-(来自cplusplus) queue的实现 什么是容器适配器 ...

  5. C++中的deque、stack、queue及priority_queue

    C++中的deque.stack.queue及priority_queue 文章目录 C++中的deque.stack.queue及priority_queue 一.deque 二.stack 三.q ...

  6. java中List、Map、Set、Collection、Stack、Queue等的使用

    java中这几个东西是比较常用的,虽然我用的不多,也正是因为用的不多,所以我一直搞不清楚他们之间的具体用法以及相互之间的关系,现在特单独作为一个东西来总结一下. 本文参考一下资料: 1.<jav ...

  7. Brush notes:stack、queue、heap

    文章目录 stack.queue.heap's API 225. 用队列实现栈 232. 用栈实现队列 155. 最小栈 POJ1363. 合法的出栈序列 224. 基本计算器 215. 数组中的第K ...

  8. 6-5-1:STL之stack和queue——stack和queue的快速入门、常用接口以及适配器的概念

    文章目录 一:简单介绍 (1)stack (2)queue 二:stack和queue的应用 三:stack和queue的模拟实现--适配器 一:简单介绍 stack和queue是STL中的两个容器, ...

  9. Stack与queue的底层实现、区别。

    一.stack(栈):先进后出 1.栈是一种只能从表的一端存取数据且遵循 "先进后出" 原则的线性存储结构. 栈的开口端被称为栈顶:相应地,封口端被称为栈底. 向栈中添加元素,此过 ...

  10. C++---容器适配器(stack、queue、priority_queue)

    容器适配器 首先我们要知道容器适配器是干啥的. 我们可以简单的将容器适配器当做一个接口装置.有的电脑上没有数据转接口,但是有usb接口,这是我们没必要重新买一个电脑,我们可以做一个usb数据转接线.而 ...

最新文章

  1. 剑指offer22:栈的压入、弹出序列
  2. Nginx 之五: Nginx服务器的负载均衡、缓存与动静分离功能
  3. 数据挖掘Apriori算法
  4. java 日期 运算
  5. 人人都能做游戏!3D次世代CE云端引擎发布
  6. Ethernet帧和802.3帧区别
  7. python3列表_Python3 列表List(十一)
  8. pandas 学习(二)—— pandas 下的常用函数
  9. 彻底解决Eclipse的控制台console按钮非常小
  10. linux消息队列编程实例
  11. sqlserver 中通配符%和_的使用
  12. 架构运维篇(三):Centos7/Linux安装部署Nginx+多Tomcat负载均衡入门实践
  13. BeyondCompare3提示许可密钥过期完美解决方法
  14. HTML分页打印。Web打印控件,完美解决页面排版、结构复杂,内容、图片、表格跨页断裂,自定义页面设置、页眉、页脚、页码,保持原文CSS等难题
  15. 杭州五大湖风景名胜区
  16. init: wait for '/dev/block/bootdevice/by-name/cache' timed out and took 5007ms【学习笔记】
  17. 大学计算机专业学习哪些课程?
  18. SPIR-V 研究:编译器基本原理(二)
  19. 2015美亚杯团队赛
  20. Visual Paradigm 如何清除系统代理设置

热门文章

  1. SQL创建表语句文档
  2. PIX failover+负载
  3. 因特尔显卡自定义分辨率_蓝宝石RX 5600XT 6G D6 白金版OC显卡评测:两千价位段好选择...
  4. Python中相见恨晚的技巧
  5. android编程fragment,Android中关于FragmentA嵌套FragmentB的问题
  6. linux fio释放内存,linux使用FIO测试磁盘的iops
  7. mysql的多表操作_Mysql-多表连接的操作和用法
  8. java最长同值路径_687.最长同路径值
  9. /proc/diskstats各字段解析
  10. 7个让你惊叹的HTML技巧