C++杂项
作业:
将之前实现的顺序表、栈、队列都更改成模板类
顺序表
#include <iostream>using namespace std;template<typename T>class SeqList
{
private:T *ptr;int size; //总长度int len = 0; //当前顺序表实际长度public://初始化void init(int n){this->ptr = new T[n];this->len = 0;this->size = n;}//判空bool empty(){return this->len == 0;}//判满bool full(){return this->len == this->size;}//尾插void push_back(T e){//判断是否满了if(this->full()){return ;}this->ptr[len++] = e;}//插入void insert(T index){//判断是否满了if(this->full()){return ;}int i,pos;cout << "pos>>";cin >> pos;for(i=this->len; i>=pos; i--){this->ptr[i] = this->ptr[i-1];}this->ptr[i] = index;this->len++;}//任意位置删除void del(int index){if(empty() == 1){return;}int i;for(i = index - 1; i < this->len; i++){this->ptr[i] = this->ptr[i+1];}this->len--;}//尾删void pop_back(int index){if(empty() == 1){return;}int i;for(i = 0; i < index; i++){this->ptr[this->len--] = 0;}}//求长度void my_size(){cout << "len = " << this->len <<endl;}//获取任意位置元素T & at(int index){static T num;num = this->ptr[index-1];return num;}//将顺序表进行排序void sort(bool flag){int i,j;if(flag){for(i = 0; i < this->len; i++){for(j = 0; j < this->len - 1- i;j++){if(this->ptr[j]>this->ptr[j+1]){T temp = this->ptr[j];this->ptr[j] = this->ptr[j+1];this->ptr[j+1] = temp;}}}}else{for(i = 0; i < this->len; i++){for(j = 0; j < this->len - 1- i;j++){if(this->ptr[j]<this->ptr[j+1]){T temp = this->ptr[j];this->ptr[j] = this->ptr[j+1];this->ptr[j+1] = temp;}}}}}//定义展示函数void show(){//判空if(empty() == 1){return;}for(int i=0; i<this->len; i++){cout<<this->ptr[i]<<" ";}cout<<endl;}
};
int main()
{SeqList<int> s1; //实例化一个顺序表对象s1.init(10);s1.show();s1.insert(8);s1.insert(7);s1.insert(9);s1.insert(2);s1.show();cout<<s1.at(2)<<endl;s1.del(1);s1.show();return 0;
}
运行结果:

栈
#include <iostream>using namespace std;template<typename T>
class Stack //定义一个栈的模板类
{
private:T *ptr; //栈int num; //栈顶元素数int max; //栈的空间初始大小
public:Stack():num(-1),max(20){ptr = new T[max]; //申请空间}Stack(int t,int m):num(t),max(m){ptr = new T[max]; //申请栈空间for(int i=0;i<num+1;i++){cout<<"input>>";cin>>ptr[i];}}~Stack(){delete [] ptr;}Stack(Stack &s):ptr(new T(*s.ptr)),num(s.num),max(s.max){}//栈顶元素访问T top(){return ptr[num];}//判空bool empty(){return num==-1;}//元素数int size(){return num+1;}//向栈顶插入元素void push(T n){//判满if(num==max-1){cout<<"full"<<endl;return;}++this->num;this->ptr[num] = n;}//删除栈顶元素void pop(){//判空if(empty()){return;}this->num--;}void show(){for(int i=0;i<num+1;i++){cout<<ptr[i]<<" ";}cout<<endl;}
};
int main()
{Stack <string> s1(4,10); //有参构造s1.show();s1.pop();s1.show();string buff;cout<<"push>>";cin>>buff;s1.push(buff);s1.show();cout<<s1.size()<<" "<<s1.top()<<endl;return 0;
}
运行结果:

队列
#include <iostream>
#include <stack>
using namespace std;
//队列模板类
template<typename T>
class Queue
{
private:int max; //队列最大容量int num; //队列内元素数T *ptr; //容器
public:Queue():max(20),num(0){ptr = new T[this->max];}~Queue(){delete [] ptr; //释放空间}Queue(Queue &q):max(q.max),num(q.num),ptr(new T(*q.ptr)){} //深拷贝T front(){if(empty()){cout<<"null"<<endl;T a;return a;}return ptr[0];}T back(){if(empty()){cout<<"null"<<endl;T a;return a;}return ptr[num-1];}bool empty(){return num==0;}int size(){return num;}void push(T n){//判满if(num>=max){cout<<"full"<<endl;return;}this->num++;this->ptr[num-1] = n;}void pop(){//判空if(empty()){cout<<"null"<<endl;return;}for(int i=0;i<this->num;i++){this->ptr[i]=this->ptr[i+1];}this->num--;}void show(){for(int i=0;i<num;i++){cout<<ptr[i]<<" ";}cout<<endl;}
};
int main()
{Queue<string> q;//判空if(q.empty()){q.push("hello");q.push("world");q.push("I");q.push("love");q.push("china");q.show();}cout<<q.back()<<endl;cout<<q.front()<<endl;cout<<q.size()<<endl;q.pop();q.show();return 0;
}
运行结果:

知识梳理:



C++11新特性之智能指针(重要)





相关文章:
C++杂项
作业: 将之前实现的顺序表、栈、队列都更改成模板类 顺序表 #include <iostream>using namespace std;template<typename T>class SeqList { private:T *ptr;int size; //总长度int len 0; //当前顺序表实际长度public://初始…...
Gelatinous Cube Sphere - Bonus Files 2 - Atavism
这是Gelatinous Cube & Sphere Pack的奖励文件包。 奖励文件: ⭐ 概念艺术 也可在Monster Bundle #2中使用。 下载:Unity资源商店链接资源下载链接...
锐捷—NAT地址映射+IPsec隧道
任务目标 在出口路由器R3上将R5私网地址1对1映射的公网地址与R1建立IPsec隧道,使得R4在访问R5的映射公网地址时,可以进行IPsec隧道的转发 要求: 1、R4和R5可通过NAT转换正常访问互联网地址(R2的lo0) 2、R5的私网地…...
index.html 调用 ajax
index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>AJAX 请求示例</title><script>// 封装 Ajax 为公共函数:传入回调函数 success 和 failfunction myAjax (url, suc…...
uniapp学习(003-1 vue3学习 Part.1)
零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战,开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第11p-第p14的内容 文章目录 vue3使用介绍插值表达式例子时间戳随机数输出函数的值 ref响应式数据变量v-bind 绑…...
计算机毕业设计 基于深度学习的短视频内容理解与推荐系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
JavaScript网页设计案例深度解析:从理论到实践
前言 在现代前端开发中,JavaScript 是赋予网页生命的关键技术。静态的 HTML 和 CSS 虽然能创建美观的页面,但当我们需要增强用户交互和页面响应时,JavaScript 无疑成为最得力的工具。从程序员的角度来看,JavaScript 设计不仅仅是…...
spark-sql建表数据同步到hive
1、基础环境 组件版本备注hadoop3.4.0官方下载hive3.1.3自编译sparkspark-3.5.3-bin-hadoop3官方下载,需要内置hive的jar相关内容paimon0.9.0Maven官方下载jdk1.8.0_41maven3.9.6固定版本 2、停止服务、清理日志 先停止,清理数据 sudo kill -9 $(ps -ef…...
Django上下文处理器
1创建 (如frontend目录下)category_processors文件: def categories(request):from backend.models import Categorycategory_list Category.objects.all()return {category_list:category_list}这里,必须返回一个字典。 2&…...
旭升集团携手纷享销客,构建全方位客户关系管理平台
宁波旭升集团股份有限公司(以下简称“旭升集团”)自2003年成立,总部位于中国宁波,集团设有压铸、锻造、挤压、集成四大事业部,在亚洲、欧洲、美洲等地均设立研发中心及制造基地,产品主要覆盖新能源汽车的电…...
uniapp 知识点
自定义导航 在page.json navigationstyle":"custom"navigateTo传参 页面传参只能onLoad(option)里面拿 px和upx的关系 在750设计图中,1px1upx 路由 navigateBack返回上一页 重定向 其实就是把当前页面干掉了 公共组件和页面共同点 computed,watc…...
慢病中医药膳养生食疗管理微信小程序、基于微信小程序的慢病中医药膳养生食疗管理系统设计与实现、中医药膳养生食疗管理微信小程序的开发与应用(源码+文档+定制)
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...
解决 Android WebView 无法加载 H5 页面常见问题的实用指南
目录 1. WebView 简介 2. 常见问题 3. 网络权限设置 4. 启用 JavaScript 5. DOM Storage 的重要性 6. 处理 HTTPS 问题 7. 设置 WebViewClient 8. 调试工具 9. 其他调试技巧 10. 结论 相关推荐 1. WebView 简介 Android WebView 是一种视图组件,使得 And…...
Ollama本地部署大模型及应用
文章目录 前言一、下载安装1.Mac2.Windows3.linux4.docker5.修改配置(可选)1.linux系统2.window 系统3.mac系统 二、Ollama使用1.命令2.模型下载3.自定义模型4.API 服务 三、Open WebUI 使用四、Dify使用 前言 Ollama 是一个专注于本地部署大型语言模型…...
读代码UNET
这个后面这个大小怎么算的,这参数怎么填,怎么来的? 这是怎么看怎么算的? 这些参数设置怎么设置?卷积多大,有什么讲究?...
【java】前端RSA加密后端解密
目录 1. 说明2. 前端示例3. 后端示例3.1 pom依赖3.2 后端结构图3.3 DecryptHttpInputMessage3.4 ApiCryptoProperties3.5 TestController3.6 ApiCryptoUtil3.7 ApiDecryptParamResolver3.8 ApiDecryptRequestBodyAdvice3.9 ApiDecryptRsa3.10 ApiCryptoProperties3.11 KeyPair3…...
机器学习 | Scikit Learn中的普通最小二乘法和岭回归
在统计建模中,普通最小二乘法(OLS)和岭回归是两种广泛使用的线性回归分析技术。OLS是一种传统的方法,它通过最小化预测值和实际值之间的平方误差之和来找到数据的最佳拟合线。然而,OLS可以遭受高方差和过拟合时&#x…...
代码随想录冲冲冲 Day60 图论Part11
97. 小明逛公园 floyd算法 其实就是先用i和j拼成一个平面 然后看每次从i到j距离 这里分两种情况 1.中间没有经过别的点 2.中间有经过别的点 那么最小步数就要取这两个的最小值 所有根本逻辑是i j确定一个面 再通过不同的k去看每一个中间点 所以k要在最外层 上一次的值要…...
golang web笔记-1.创建Web Server和Handler请求
1. 创建http web server的两个方法 1.1. 方式一:http.ListenAndServe(addr string, handler Handler) addr string:监听地址,如果为"" ,那么就是所有网络接口的80接口handler Handler:如果为nil,那么就是D…...
【Python】Copier:高效的项目模板化工具
Copier 是一个开源的 Python 工具,用于基于项目模板快速生成新项目。它通过灵活的模板化系统,使开发者可以快速创建、维护和更新项目模板,从而自动化项目的初始化流程。无论是简单的文件复制,还是复杂的项目结构配置,C…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
