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

数据结构——队列的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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/483631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.6数对 (Python)

链接&#xff1a;https://ac.nowcoder.com/acm/contest/12478/C 来源&#xff1a;牛客网 时间限制&#xff1a;C/C 2秒&#xff0c;其他语言4秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld 题目描述 在3月6日&#xff0c;作为队内数…

Poetry

1. Absence to love is what wind is to fire. It extinguishes the small; It inflames the great. 2. It is a truth universally acknowledged that a single man in possession of a single man in possession of a good fortune must be in want of a wife. 转载于:https:…

互联网大脑的发育与元宇宙的兴起

2021年10月2日&#xff0c;《互联网大脑的发育与元宇宙的兴起》是远望智库数字大脑研究院院长刘锋博士受奇点O论坛的邀请所做的一个发言&#xff0c;从互联网大脑模型的发育角度&#xff0c;探讨了元宇宙兴起的原因和规律&#xff0c;同时对元宇宙面临的问题和对产业的影响进行…

linux的常用操作——用户的添加、删除和查看

linux的常用操作——用户的添加、删除和查看#1.添加用户&#xff08;用户名无大写字母&#xff09; sudo adduser mumu passwd mumu #添加密码#2.添加用户&#xff08;用户名中含有大写字母&#xff09; #首先创建用户所属组 sudo groupadd MuMu #创建用户&#xff08;s:shell,…

小凡做蛋糕(Python)

链接&#xff1a;https://ac.nowcoder.com/acm/contest/12478/G 来源&#xff1a;牛客网 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 65536K&#xff0c;其他语言131072K 64bit IO Format: %lld 一开始把整个二维数组填好了&#xff0c;然后…

对于使用progisp软件进行ISP编程时进入不了编程模式的解决方法

目录 对于使用progisp软件进行ISP编程时无法进入编程模式的解决方法前提说明Win10 解决方法Win10 "禁用强制驱动程序签名"Win10 手动安装驱动。Win7解决方法Win7 "禁用强制驱动程序签名"Win7 手动安装驱动说明标题: 对于使用progisp软件进行ISP编程时无法进…

陈杰院士:多无人系统协同中的人工智能安全探索

来源&#xff1a;中国工程院院刊作者&#xff1a;施文、王楷文、俞成浦、孙健、陈杰&#xff0c;控制理论与控制工程专家、中国工程院院士。多无人系统协同作为一项人工智能的颠覆性技术&#xff0c;将在空间上分布的无人系统有机连接起来&#xff0c;在给社会创造价值的过程中…

linux的常用操作——查看和修改文件权限

linux的常用操作——查看和修改文件权限#1.查看当前用户 whoami#2.查看文件权限(r:read;w:write,x:execute) ls -l#3.修改文件\目录权限 chmod [who][][-][][mode] [文件名] #[who] u:文件所有者;g:文件所属组;o:其他人;a:所有人 #[]:增加权限;[-]:减少权限;[]:覆盖原来权限 su…

圆的交点 (Python)

链接&#xff1a;https://ac.nowcoder.com/acm/contest/12478/D 来源&#xff1a;牛客网 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld 2&#xff0c;1的样例 一层一层找规律…

linux的常用操作——基于ftp的windows10和腾讯云centos操作系统之间的文件上传和下载

\qquad在腾讯云服务器的centos操作系统上&#xff0c;安装vsftpd并进行配置&#xff0c;然后基于ftp实现windows10操作系统和腾讯云centos系统之间的文件上传和下载。 文章目录1.基于腾讯云服务器centos的操作系统的vsftpd的安装和配置2.基于ftp实现windows10和linux之间的文件…

这些超级高效的人工神经元不使用电子?

Nanofluidic slits in this artificial neuron prototype mimic the ion channels in the brain. PAUL ROBIN/LABORATOIRE DE PHYSIQUE DE LENS来源&#xff1a;IEEE电气电子工程师在能源使用和信息传输能力方面&#xff0c;设计模仿人脑的电子系统是科学研究的圣杯。尽管人工…

工具资源系列之给虚拟机装个windows

前面我们介绍了如何在 mac 宿主机安装 VMware 虚拟机软件,本节我们将继续介绍如何给虚拟机安装镜像,切换不同的操作系统. VMware 软件是容器,镜像是内核,这里的镜像指的是操作系统. 下载镜像 windows 操作系统下载: https://msdn.itellyou.cn/ 按照实际需要选择适合自己的操作系…

单位的换算 (Python)

链接&#xff1a;https://ac.nowcoder.com/acm/contest/12482/C 来源&#xff1a;牛客网 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld 题目描述 今天小松鼠正在做他的物理作业&…

从科学简历看研究方法——爱因斯坦探索性的演绎法

来源&#xff1a;贾贵儒科学网博客链接地址&#xff1a;http://blog.sciencenet.cn/blog-3444430-1307033.html历史中最重要的是思想方法&#xff0c;不注重思想方法的历史则很容易成为大事记 演绎。爱因斯坦在100年前就明确地指出&#xff1a;“适用于科学幼年时代的以归纳法…

计算机视觉——简介以及人脸数目检测

1.什么是计算机视觉&#xff1f; \qquad计算机视觉&#xff08;computer vision&#xff09;&#xff1a;机器试图理解所看到的目标。计算机视觉通过算法去尝试理解视觉信息&#xff0c;从而将理解转化为分类&#xff0c;决策&#xff0c;模式观察等等。 2.计算机视觉的应用 \…

【操作系统复习】进程的定义、组成、组织方式

进程的定义、组成、组织方式一、进程的定义二、进程的组成三、进程的组织四、进程的特征一、进程的定义 程序&#xff1a;就是一个指令序列 早期的计算机&#xff08;只支持单道程序&#xff09; 引入多道程序技术之后&#xff1a; 为了方便操作系统管理&#xff0c;完成各程…

谷歌大脑新研究:强化学习如何学会用声音来观察?

来源&#xff1a;AI科技评论编译&#xff1a;王晔校对&#xff1a;维克多人类已经证明&#xff0c;大脑中的神经系统拥有为不断适应外界环境的变化而改变自身结构的能力。大脑内部的突触、神经元之间的连接可以由于学习和经验的影响建立新的连接。相应的&#xff0c;感官替代&a…

python实现单例模式的三种方式及相关知识解释

python实现单例模式的三种方式及相关知识解释 模块模式装饰器模式父类重写new继承单例模式作为最常用的设计模式,在面试中很可能遇到要求手写.从最近的学习python的经验而言,singleton实现的四种方法都是python的重要特征,反过来也刚好是几种特征的最佳实现.(比如你平常开发中很…

【操作系统复习】系统调用

系统调用一、什么是系统调用&#xff1f;二、系统调用与库函数的区别三、系统调用背后的过程一、什么是系统调用&#xff1f; &#x1f481; 系统调用&#xff1a; 是操作系统提供给应用程序&#xff08;程序员/编程人员&#xff09;使用的接口&#xff0c;可以理解为一种可供…

计算机视觉——openCV的简介

\qquadopenCV是一个开源的计算机视觉库&#xff0c;英特尔于1999年开发出来&#xff0c;首先用C/C编写。使用pip install opencv-python安装OpenCV库&#xff0c;在python中&#xff0c;直接使用import cv2命令&#xff0c;导入OpenCV库。 1.openCV的颜色模式 \qquadopenCV的默…