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

\qquad队列的创建、判断是否为空或者满、入队和出队操作的C++实现。

#include<iostream>
using namespace std;//1.定义
template<class T,int size>
class Queue
{public:Queue() { first = last = -1; }void AddQueue(T num);T DeleteQueue();bool IsFull();bool IsEmpty();int first, last;T data[size];};//2.入队
template<class T,int size>
void Queue<T, size>::AddQueue(T num)
{if (!IsFull()) {if (last == size - 1 || last == -1) {data[0] = num;last = 0;if (first == -1) {first = 0;}}else {data[++last] = num;}}else {cout << "队列满!" << endl;}
}//3.出队
template<class T,int size>
T Queue<T, size>::DeleteQueue()
{T num;num = data[first];if (first == last) {last = first = -1;}else if (first == size - 1) {first = 0;}elsefirst++;return num;
}//4.判断队列是否为满
template<class T, int size>
bool Queue<T, size>::IsFull()
{return first == 0 && last == size - 1 || first == last + 1;
}//5.判断队列是否为空
template<class T, int size>
bool Queue<T, size>::IsEmpty()
{return first == -1;
}int main()
{Queue<double, 100> Q;int i;double num;for (i = 0; i < 10; i++) {Q.AddQueue(i);}for (i = 0; i < 5; i++) {num = Q.DeleteQueue();cout << num << endl;}cout << Q.first << "  " << Q.last << endl;
}

数据结构——队列的C++实现相关推荐

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

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

  2. java 数据队列_Java 数据结构 - 队列

    Java 数据结构 - 队列 我们今天要讲的数据结构是队列,比如 Java 线程池任务就是队列实现的. 1. 什么是队列 和栈一样,队列也是一种操作受限的线性结构.使用队列时,在一端插入元素,而在另一 ...

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

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

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

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

  5. 第七周--数据结构--队列数组

     /*    *第七周--数据结构--队列数组     *Copyright (c) 2015 烟台大学计算机与控制工程学院    *All right reserved.    *文件名称:li ...

  6. 数据结构-队列和栈有什么区别

    数据结构-队列和栈有什么区别 1:队列和栈是两种不同的数据结构.它们有以下区别: (1)操作的名称不同.队列的插入称为入队,队列的删除称为出队.栈的插入称为进栈,栈的删除称为出栈. (2)可操作的方式 ...

  7. 数据结构——队列的C语言代码实现

    系列文章目录 数据结构--顺序表的C语言代码实现 数据结构--八种链表的C语言代码实现 数据结构--栈的C语言代码实现 数据结构--队列的C语言代码实现 数据结构--堆的C语言代码实现 文章目录 系列 ...

  8. 数据结构——队列 c++详解

    1.队列(Queue)与栈一样,是一种线性存储结构,它具有如下特点: (1)队列中的数据元素遵循"先进先出"(First In First Out)的原则,简称FIFO结构: (2 ...

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

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

最新文章

  1. 32位java 最大内存_【答疑系列】为什么32位系统只支持最大4G内存?
  2. adb 由于目标计算机积极拒绝,无法连接
  3. 人脸和性别识别(基于OpenCV)
  4. MSP432P401R TI Drivers 库函数学习笔记(四)GPIO
  5. Spring MVC文件上传示例教程 - 单个和多个文件
  6. mysql5.6.25及以上下载衔接
  7. C++使函数返回多个数组
  8. 状态压缩DP-棋盘模型总结
  9. MDK Pack安装包下载算法BUG
  10. 公司与公司保密协议范本
  11. 软件测试面试——常见的面试问题总结(大全)
  12. SEC再收中国互金企业招股书 融360成立简普科技拟融资2亿美元
  13. 因子完备数c语言,编写函数输出完备数及其所有约数
  14. 安装sentinel LDK 驱动
  15. 个性化智能推荐技术研究总结
  16. Yolov5环境配置 配不好来打我
  17. LPR个人房贷利率如何计算?(商贷部分)
  18. 常常激励我们的36句话
  19. 关于虚拟机中linux系统时间的问题
  20. 勾三股四:用技术追寻世界的确定答案

热门文章

  1. LeetCode 1629. 按键持续时间最长的键
  2. LeetCode 732. 我的日程安排表 III(差分思想)
  3. LeetCode 684. 冗余连接(并查集)
  4. vant toast 指定挂载到指定位置_docker卷挂载技术
  5. linux用命令行进行无线连接,linux以命令行下配置连接wlan无线网卡
  6. python谱聚类算法_谱聚类Spectral clustering(SC)
  7. java 悬浮提示框_表格(悬浮框提示)
  8. 细数一行代码改变结局的炼丹骚操作
  9. 「小算法」回文数与数值合法性检验
  10. 论文浅尝 - ACL2020 | 用于链接预测的开放知识图谱嵌入