day42

#include <iostream>using namespace std;
template <typename T>
class stu
{
private:T num[20];T head;T low;
public:stu(){}stu(T h,T l):head(h),low(l){cout<<"有参构造"<<endl;}~stu(){cout<<"析构函数"<<endl;}stu(const stu &other):head(other.head),low(other.low){cout<<"拷贝构造函数"<<endl;}//判空bool queue_empty();//判满bool queue_full();//入队void queue_push(int n);//出队void queue_pop();//清空void queue_null();//队列长度void queue_size();
};
//判空
template <typename T>
bool stu<T>::queue_empty()
{if(this->low==this->head){return 1;}return 0;
}
//判满
template <typename T>
bool stu<T>::queue_full()
{if((this->low+1)%20==head){return 1;}return 0;
}
//入队
template <typename T>
void stu<T>::queue_push(int n)
{if(queue_full()){cout<<"队列已满"<<endl;}this->num[this->low]=n;this->low=(this->low+1)%20;cout<<"入队成功"<<endl;
}
//出队
template <typename T>
void stu<T>::queue_pop()
{if(queue_empty()){cout<<"出队失败"<<endl;}cout<<"出队成功"<<this->num[this->head]<<endl;this->head=(this->head+1)%20;
}
//清空
template <typename T>
void stu<T>::queue_null()
{while(1){cout<<this->num[this->head]<<endl;this->head=(this->head+1)%20;if(this->head==this->low){cout<<"清空成功"<<endl;break;}}
}
//队列长度
template <typename T>
void stu<T>::queue_size()
{cout<<"队列长度"<<(this->low-this->head+20)%20<<endl;
}
int main()
{stu<int> p1(0,0);p1.queue_push(5);p1.queue_push(8);p1.queue_push(10);p1.queue_pop();p1.queue_size();p1.queue_null();p1.queue_size();return 0;
}

#include <iostream>using namespace std;
template<typename T>
class stu
{
private:T num[20];T top;
public:stu(){}//构造stu(int n,int t){num[top]=n;top=t;cout<<"stu::构造函数"<<endl;}//析构~stu(){cout<<"stu::析构函数"<<this<<endl;}//拷贝stu(const stu &other):num(other.num),top(other.top){cout<<"拷贝构造函数"<<endl;}//判空bool stack_empty();//判满bool stack_full();//入栈void  stack_push(int n);//出栈void stack_pop();//遍历栈void stack_show();//清空栈void stack_null();//获取栈顶元素void stack_top();//求栈的大小void stack_num();
};
//判空
template <typename T>
bool stu<T>::stack_empty()
{if(-1==top){return 1;}return 0;
}//判满
template <typename T>
bool stu<T>::stack_full()
{if(19==top){return 1;}return 0;
}//入栈
template <typename T>
void  stu<T>::stack_push(int n)
{this->top++;this->num[this->top]=n;cout<<"入栈成功"<<endl;
}//出栈
template <typename T>
void  stu<T>:: stack_pop()
{if(stack_empty()){cout<<"出栈失败"<<endl;}int n = this->num[this->top];cout<<"出栈成功:"<<n<<endl;this->top--;
}//遍历栈
template <typename T>
void  stu<T>:: stack_show()
{if(stack_empty()){cout<<"遍历失败"<<endl;}cout<<"从栈顶到栈底分别为"<<endl;for(int i=this->top;i>=0;i--){cout<<this->num[i]<<"    ";}cout<<endl;
}//清空栈
template <typename T>
void  stu<T>:: stack_null()
{if(stack_empty()){cout<<"清空失败"<<endl;}for(int i=this->top;i>=0;i--){this->num[i]=NULL;}cout<<"清空成功"<<endl;
}//获取栈顶元素
template <typename T>
void  stu<T>:: stack_top()
{cout<<"栈顶元素"<<this->num[this->top]<<endl;
}//求栈的大小
template <typename T>
void  stu<T>:: stack_num()
{cout<<"栈的大小:"<<this->top+1<<endl;
}int main()
{stu<int> s1(0,-1);s1.stack_push(6);s1.stack_push(8);s1.stack_push(9);s1.stack_show();s1.stack_top();s1.stack_num();s1.stack_null();s1.stack_show();return 0;
}

 

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

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

相关文章

基于深度学习网络的烟雾检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .........................................................................% 预处理训练数…

2023-9-14 最长上升子序列

题目链接&#xff1a;最长上升子序列 #include <iostream> #include <algorithm>using namespace std;const int N 1010;int n; int a[N]; int f[N];int main() {cin >> n;for(int i 1; i < n; i ) cin >> a[i];for(int i 1; i < n; i ){f[i]…

VS报错 The build tools for v141 (Platform Toolset = ‘v141‘) cannot be found.

在配置OpenGL 项目的时候遇到了平台不一致的问题 错误 1 error MSB8020: The build tools for v141 (Platform Toolset v141) cannot be found. To build using the v141 build tools, please install v141 build tools. Alternatively, you may upgrade to the current Vis…

汽车电子智能仓储系统的发展趋势与应用探索

现代汽车制造业中的仓储管理一直面临着多种挑战。仓库中物料的数量种类繁多&#xff0c;寻找物料耗时长、困难大。盘点过程耗费人力多、成本高、速度慢。管理无法达到先进先出的原则&#xff0c;也无法进行精准追溯。此外&#xff0c;多发、少发、错料等问题时有发生。仓库中的…

肖sir__mysql之单表__004

mysql之单表 一、建表语句 1、show databases 查看所有的数据库 2、create databaes 数据库名 创建数据库 3、use 数据库名 指定使用数据库 4、show tables &#xff1b; 5、创建表 格式&#xff1a;create table 表名 (字段名1 数据类型1(字符长度),字段名2 数据类型2(字…

怎么在树莓派上搭建WordPress博客网站,并发布到外网可访问?

文章目录 序幕概述1. 安装 PHP2. 安装MySQL数据库3. 安装 Wordpress4. 设置您的 WordPress 数据库设置 MySQL/MariaDB创建 WordPress 数据库 5. WordPress configuration6. 将WordPress站点发布到公网安装相对URL插件修改config.php配置 7. 支持好友链接样式8. 定制主题 序幕 …

想要精通算法和SQL的成长之路 - 可以攻击国王的皇后

想要精通算法和SQL的成长之路 - 可以攻击国王的皇后 前言一. 可以攻击国王的皇后 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 可以攻击国王的皇后 原题链接 这个题目其实并没有涉及到什么很难的算法&#xff0c;其实就是一个简单的遍历题目。核心思想&#xff1a; 以…

不知道有用没用的Api

encodeURIComponent(https://www.baidu.com/?name啊啊啊) decodeURIComponent(https%3A%2F%2Fwww.baidu.com%2F%3Fname%3D%E5%95%8A%E5%95%8A%E5%95%8A) encodeURI(https://www.baidu.com/?name啊啊啊) decodeURI(https://www.baidu.com/?name%E5%95%8A%E5%95%8A%E5%95%8A) …

机器学习笔记之最优化理论与方法(八)无约束优化问题——常用求解方法(中)

机器学习笔记之最优化理论与方法——基于无约束优化问题的常用求解方法[中] 引言回顾&#xff1a;最速下降算法的缺陷经典牛顿法基本介绍经典牛顿法的问题经典牛顿法的优点与缺陷经典牛顿法示例 修正牛顿法介绍拟牛顿法拟牛顿法的算法过程 矩阵 B k 1 \mathcal B_{k1} Bk1​的…

【论文解读】Faster sorting algorithm

一、简要介绍 基本的算法&#xff0c;如排序或哈希&#xff0c;在任何一天都被使用数万亿次。随着对计算需求的增长&#xff0c;这些算法的性能变得至关重要。尽管在过去的2年中已经取得了显著的进展&#xff0c;但进一步改进这些现有的算法路线的有效性对人类科学家和计算方法…

Docker的运行机制和底层技术简介

&#xff08;笔记总结自《微服务架构基础》书籍&#xff09; 一、Docker的引擎 Docker Engine&#xff08;Docker引擎&#xff09;是Docker的核心部分&#xff0c;使用的是客户端-服务器&#xff08;C/S&#xff09;架构模式&#xff1a; ①Docker Cli&#xff1a;Docker命令…

Science adv | 转录因子SPIC连接胚胎干细胞中的细胞代谢与表观调控

代谢是生化反应网络的结果&#xff0c;这些反应吸收营养物质并对其进行处理&#xff0c;以满足细胞的需求&#xff0c;包括能量产生和生物合成。反应的中间体被用作各种表观基因组修饰酶的底物和辅助因子&#xff0c;因此代谢与表观遗传密切相关。代谢结合表观遗传涉及疾病&…

高可用集群HA、LVS+Keepalived、健康检测

keepalived是集群管理中保证集群高可用(HA)的一个服务软件&#xff0c;其功能类似于heartbeat&#xff0c;用来防止单点故障。 2.工作原理 keepalived是以VRRP协议为实现基础的,当backup收不到vrrp包时就认为master宕掉了&#xff0c;这时就需要根据VRRP的优先级来选举一个ba…

如何把文件从本地上传云服务器

1、从服务器下载文件到本地&#xff08;如win电脑&#xff09; scp&#xff1a;命令&#xff0c; iss_train0110.33.16.2是服务器用户名&#xff0c;10.33.16.2是服务器ip&#xff0c; :是选择 /mnt/linaro/sample/sample/YOLOv8/cpp/yolov8_bmcv/yolov8_bmcv.soc&#xff1a;服…

vue中预览xml并高亮显示

项目中有需要将接口返回的数据流显示出来&#xff0c;并高亮显示&#xff1b; 1.后端接口返回blob,类型为xml,如图 2.页面中使用pre code标签&#xff1a; <pre v-if"showXML"><code class"language-xml">{{xml}}</code></pre> …

【操作系统】进程的通信IPC

进程通信是指进程之间的信息交换。 低级通信方式&#xff1a;PV操作 高级通信方式&#xff1a;1.共享存储2.消息传递3.管道通信 共享存储 低级数据结构共享&#xff0c;高级存储区共享。 对共享空间进行读写操作时&#xff0c;需要用到互斥工具。 消息传递 利用发送消息和…

真空腔体的设计要点

真空腔体是保持内部为真空状态的容器&#xff0c;真空腔体设计制作要考虑容积、材质和形状。 1、根据应用需求选择腔体形状。几种代表性的真空腔体包括垂直真空腔体、水平真空腔体、立方真空腔体和球形真空腔体。 2、根据获得真空度选择腔体材质。钛用于极高真空&#xff1b;…

Navicat连接mysql8.0:提示无法加载身份验证插件“caching_sha2_password”

Navicat连接mysql时&#xff0c;提示&#xff1a;Unable to load authentication plugin ‘caching_sha2_password‘. 原因&#xff1a;mysql 8.0 默认使用 caching_sha2_password 身份验证机制。 D:\MySQL8.0\install\bin>mysql -uroot -p123456789 #登录 mysql: [War…

基于hutool实现国密SM2的加解密,简直不要太简单!

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&am…

【C#项目实战】控制台游戏 勇士斗恶龙(2)——游戏场景的设置以及玩家战斗逻辑

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;最近开始正式的步入学习游戏开发的正轨&#xff0c;想要通过写博客的方式来分享自己学到的知识和经验&#xff0c;这就是开设本专栏的目的。希望…