参考资料:《数据结构(C语言版)严蔚敏著》
版权说明:未经作者允许,禁止转载。如引用本文内容,需标明作者及出处。如本文侵犯了您的权益,请联系我删除并致歉。
文章说明:如文章中出现错误,请联系我更改。如您对文章的内容有任何疑问,也欢迎来与我讨论。
本文正在施工中...请稍等...


队列的介绍

基本概念

1、队列是一种特殊的线性表,它只允许在表的一端进行插入操作,而在另一端进行删除操作。
2、队头:队列中允许删除的一端。
3、队尾:队列中允许插入的一端。
4、空队列:不含任何元素的队列。
5、队列的特点:先进先出,即最先进入队列中的元素,总是最先从队列中移出。

抽象数据类型定义

ADT Queue{
数据对象:参考《数据结构(C语言描述)严蔚敏著》
数据关系:参考《数据结构(C语言描述)严蔚敏著》
基本操作:InitQueue(&Q)操作结果:构造一个空队列Q。DestroyQueue(&Q)初始条件:队列Q已存在。操作结果:队列Q被销毁,不再存在。ClearQueue(&Q)初始条件:队列Q已存在。操作结果:将Q清为空队列。QueueEmpty(Q)初始条件:队列Q已存在。操作结果:若Q为空队列,则返回TRUE,否则返回FALSE。QueueLength(Q)初始条件:队列Q已存在。操作结果:返回Q的元素个数,即队列的长度。GetHead(Q,&e)初始条件:Q为非空队列。操作结果:插入元素e为Q的新的队尾元素。EnQueue(&Q,e)初始条件:队列Q已存在。操作结果:插入元素e为Q的新的队尾元素。DeQueue(&Q,&e)初始条件: Q为非空队列。操作结果:删除Q的队头元素,并用e返回其值。QueueTraverse(Q,Visit())初始条件:Q已存在且非空。操作结果:从队头到队尾,依次对Q的每个数据元素调用函数Visit()。一旦Visit()失败,则操作失败。
}ADT Queue

【数据结构】队列的介绍相关推荐

  1. java 数据结构_Java版-数据结构-队列(数组队列)

    前言 看过笔者前两篇介绍的 Java版数据结构 数组和 栈的盆友,都给予了笔者一致的好评,在这里笔者感谢大家的认可!!! 由于本章介绍的数据结构是 队列,在队列的实现上会基于前面写的 动态数组来实现, ...

  2. 数据结构的简要介绍:堆栈如何工作

    by Michael Olorunnisola 通过Michael Olorunnisola 数据结构的简要介绍:堆栈如何工作 (A Gentle Introduction to Data Struc ...

  3. 数据结构队列代码_代码简介:队列数据结构如何工作

    数据结构队列代码 Here are three stories we published this week that are worth your time: 这是我们本周发布的三个值得您关注的故事 ...

  4. java循环队列_Java版-数据结构-队列(循环队列)

    前情回顾 在上一篇,笔者给大家介绍了数组队列,并且在文末提出了数组队列实现上的劣势,以及带来的性能问题(因为数组队列,在出队的时候,我们往往要将数组中的元素往前挪动一个位置,这个动作的时间复杂度O(n ...

  5. C++数据结构——队列

                                                      C++数据结构--队列 参考博客: 数据结构图文解析之:队列详解与C++模板实现 C++ stl队列 ...

  6. 数据结构的简要介绍:图形如何工作

    by Michael Olorunnisola 通过Michael Olorunnisola 数据结构的简要介绍:图形如何工作 (A Gentle Introduction to Data Struc ...

  7. rabbitMQ消息队列 – 面板介绍及简单demo

    首先rabbit安装好之后,运维会给一个控制面板. 默认账号密码为guest 登入以后可以看到具体界面. 在此鸣谢百度翻译给予的大力支持.. ###写一个简单的demo 编写之前..虽然说可以直接用底 ...

  8. php+spl+栈,PHP SPL标准库之数据结构栈(SplStack)介绍

    PHP SPL标准库之数据结构栈(SplStack)介绍2020-06-13 22:01:42 栈(Stack)是一种特殊的线性表,因为它只能在线性表的一端进行插入或删除元素(即进栈和出栈) SplS ...

  9. 数据结构——队列的C++实现

    数据结构--队列的C++实现 \qquad队列的创建.判断是否为空或者满.入队和出队操作的C++实现. #include<iostream> using namespace std;//1 ...

最新文章

  1. 高可用MySQL_Mysql高可用架构
  2. Scrapy_splash组件的使用
  3. SharePoint 2013 Search 配置总结
  4. 解决eclipse修改后台代码ctrl+s总是【自动重启服务器】问题
  5. 10 个平板电脑上的 Python 编辑器
  6. 存储过程排版工具_我的绘图工具箱
  7. 逆序枚举时常犯的一个错误
  8. day_05 显示字符A
  9. mysql sql练习题_Mysql----sql语句练习题(一)
  10. 这里是一个简单的CRM客户关系管理系统的开发教程,你值得拥有哟!
  11. python实现播放音乐
  12. UI设计师的段位和匹配能力
  13. 520到来!教你如何用代码向心仪的学妹表白,获取他的芳心!
  14. eap wifi 证书_用openssl为EAP-TLS生成证书(CA证书,服务器证书,用户证书)
  15. (1)Proteus 8.9上的STM32仿真系列(HAL)---流水灯
  16. docker命令入门到精通这一篇就够了
  17. 用户名片 2:Nginx 与图片深度解析
  18. c语言单链表删除倒数第k个数,在单链表中删除倒数第k个节点
  19. 【每天读一点英文】gnuhpc注释版:Arthur Clutton Brock - The Cardinal Virtue of Prose
  20. 人生赚一个亿小目标难吗?手把手教你走上人生巅峰

热门文章

  1. win10系统怎么设置uefi启动?超详细教程献上!
  2. 使用inkscape绘制一个简单的logo
  3. android历史记录去重,【图片】*知识帖*求精!!安卓从1.0到如今4.2所有版本集合!!【刷机精灵吧】_百度贴吧...
  4. pl_bolts安装
  5. win10 20H2版本 出现严重BUG,VS总是崩溃
  6. 安卓手机如何玩转「动作手势检测」?有TensorFlow就够了 | 实用教程
  7. 勒索蠕虫感染 Windows XP临时防范补丁KB4012598安装
  8. 史上最经典的Linux内核学习方法论
  9. 全国主要城市交通卡芯片一览
  10. Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法