C++ DAY6 作业
1.用模板类写顺序表
#include <iostream>using namespace std;#define MAXSIZE 10
template <typename T>
class Arr
{T *data =NULL;int len = 0;
public://构造函数Arr():data(new T){}Arr(T a,int len):data(new T(a)),len(len){}//析构函数~Arr(){delete data;}//向顺序表尾插元素void insert_data(Arr &a1,T a);//删除顺序尾删元素void delete_data(Arr &a1);//按照指定值查找元素int search_data(Arr &a1,T a);//遍历void output(Arr a1);};//尾插
template <typename T>
void Arr<T>::insert_data(Arr &a1,T a)
{//判满以及堆区地址是否创建if(a1.len == MAXSIZE || data == NULL){return;}//尾插数据*(a1.data+a1.len) = a;a1.len++;
}
//尾删
template <typename T>
void Arr<T>::delete_data(Arr &a1)
{//判空if(a1.len == 0){return;}//尾删a1.len--;
}
//按照指定值查找元素,返回index下标
template <typename T>
int Arr<T>::search_data(Arr &a1,T a)
{//判空if(a1.len == 0){return -1;}//查找for(int index=0;index<len;index++){if(*(a1.data+index) == a){return index;}}return -1;
}
//遍历
template <typename T>
void Arr<T>::output(Arr a1)
{//判空if(a1.len == 0){return;}for(int i=0; i<len ;i++){cout << *(a1.data+i) << "\t";}cout << endl;
}int main()
{Arr<int> a1;cout << "头插数据:" << endl;a1.insert_data(a1,1);a1.insert_data(a1,2);a1.insert_data(a1,3);a1.insert_data(a1,4);a1.insert_data(a1,5);cout << "遍历结果:" << endl;a1.output(a1);cout << "尾删数据:" << endl;a1.delete_data(a1);cout << "遍历结果:" << endl;a1.output(a1);cout << "查找元素:" << endl;int index = a1.search_data(a1,3);if(index == -1){cout << "查找元素不存在" << endl;}else {cout << "下标为: " << index << endl;}return 0;
}
2.思维导图

相关文章:
C++ DAY6 作业
1.用模板类写顺序表 #include <iostream>using namespace std;#define MAXSIZE 10 template <typename T> class Arr {T *data NULL;int len 0; public://构造函数Arr():data(new T){}Arr(T a,int len):data(new T(a)),len(len){}//析构函数~Arr(){delete data;}…...
华为服务器安装银河麒麟V10操作系统(IBMC安装)
iBMC是华为面向服务器全生命周期的服务器嵌入式管理系统。提供硬件状态监控、部署、节能、安全等系列管理工具,标准化接口构建服务器管理更加完善的生态系统。 服务器BMC IP:192.168.2.100 一、准备工作 1、确保本机和服务器BMC管理口在同一网络 2、银…...
macos下php 5.6 7.0 7.4 8.0 8.3 8.4全版本PHP开发环境安装方法
在macos中如果使用brew 官方默认的core tap 只可以安装官方最新的稳定版PHP, 如果想要安装 php 5.6 或者 php 8.4版本的PHP就需要使用第三方的tap , 这里分享一个比较全面的brew tap shivammathur/php 这个tap里面包含了从php5.6到最新版php8.4的所有可用最新版本PHP, 而且是同…...
Chatgpt为什么像打字机逐字输出?磨洋工,防止数据库被盗
在他后台的数据库里肯定是完整的结果,每次只给你一个单词一个单词的输送,一方面是为了耍酷,好像真的是一个人在那给你说话,另一方面也是防止第三方的抄袭者最快速度盗取采集偷走数据库。防止他们的服务器崩溃,可以多收几个月会员费。 都说搞…...
ubuntu 卸载桌面
要卸载Ubuntu上的桌面环境,您可以按照以下步骤进行操作: 登录到您的Ubuntu系统,并打开终端。 确认您当前正在使用的桌面环境。可以运行以下命令来查看已安装的桌面环境: s /usr/share/xsessions/ 根据您当前使用的桌面环境&…...
Linux文件fd剖析
学习之前,首先要认识什么是文件? 空文件也是要在内存中占据空间的,因为它还有属性数据。文件 属性 内容文件操作 对内容 对属性 或者对内容和属性的操作标定一个文件的时候,必须使用:路径文件名,文件具…...
VMWARE ESXi存储多路径策略修改
一、存储多路径介绍 VMware 路径选择插件 (PSP) 负责选择 I/O 请求的物理路径。插件是 VMware NMP 的子模块。NMP 根据设备类型为每个逻辑设备分配默认 PSP。每个PSP 启用并执行相应的路径选择策略。支持的路径选项有以下3种: VMW_PSP_MRU - 最近使用 它将选择在系…...
结构体详解
结构体: 一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构 结构体可以用来封装一些属性来组成新的类型。 结构体的大小: 结构体的大小不是结构体元素单纯相加。内存对齐(若计算机使用32位字长的cpu,对32位的…...
前端开发个人简历范本(2024最新版-附模板)
前端开发工程师个人简历范本> 年龄 25岁 性别 男 毕业院校 XX大学 张三 学历 邮箱 leeywai-tools.cn 本科 专业 计算机科学与技术 个人梗概 拥有扎实的前端开发技能和丰富的实践经验 善于与团队合作,适应能力强,能够快速融入团队并贡献自…...
# 编程语言简史
编程语言简史 文章目录 编程语言简史1. python简史1. python发展历程 2. python适用领域1. 优点:2. 缺点:3. 应用领域: 2. java简史1. java发展历程2. java适用领域 3. C简史1. C发展历程2. C使用领域 4. C简史1. C发展历程2. C适用领域 5. C…...
SpringMVC学习与开发(三)
注:此为笔者学习狂神说SpringMVC的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!! 10、ssm整合 问了一下ChatGPT SSM 是一个基于 Java 的开发框架整合,由 Spring、…...
JAVA对象、List、Map和JSON之间的相互转换
JAVA对象、List、Map和JSON之间的相互转换 1.Java中对象和json互转2.Java中list和json互转3.Java中map和json互转 1.Java中对象和json互转 Object obj new Object(); String objJson JSONObject.toJSONString(obj);//java对象转json Object newObj JSONObject.parseObject(…...
图像分割-漫水填充法 floodFill
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 本文的C#版本请访问:图像分割-漫水填充法 floodFill (C#)-CSDN博客 FloodFill方法是一种图像处理算法&#…...
Python open函数详解:打开指定文件与 readline和readlines函数:按行读取文件
Python open函数详解:打开指定文件 掌握了各种操作目录字符串或目录的函数之后,接下来可以准备读写文件了。在进行文件读写之前,首先要打开文件。 Python 提供了一个内置的 open() 函数,该函数用于打开指定文件。 open() 函数的…...
Vue 生命周期有哪些?作用是什么?
什么是vue的生命周期 Vue 实例从开始创建、初始化数据、编译模板、挂载Dom和渲染、更新和渲染、卸载等一系列过程,这是 Vue 的生命周期 vue的生命周期的八个钩子函数 beforeCreat() 创建前 在new一个vue实例后,只有一些默认的生命周期钩子和默认事件&a…...
《Vue3 前端构建工具》 Vue-cli 与 Vite 创建项目的插件和配置对比
前言 2024 年 啦!Vue2 也于 2023.12.31 寿终正寝 ! 然而我的 Vue3 升级一再拖延(惭愧不已)~ 赶起来吧~ 今天用 vue-cli 和 vite 分别创建了 Vue3 项目,具体实现步骤见如下两篇。 《基于 Vue Cli4.x Vue3 TS styl…...
springboot(ssm中山社区医疗综合服务平台 医疗管理系统 Java系统
springboot(ssm中山社区医疗综合服务平台 医疗管理系统 Java系统 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0&#x…...
Qt编写的exe程序上添加程序信息
1、qtcreator编写 在pro文件中添加如下信息 # 版本信息 VERSION 4.0.2.666# 图标 RC_ICONS Images/MyApp.ico# 公司名称 QMAKE_TARGET_COMPANY "Digia"# 产品名称 QMAKE_TARGET_PRODUCT "Qt Creator"# 文件说明 QMAKE_TARGET_DESCRIPTION "Qt …...
(一)CarPlay集成开发之概述与环境篇
系列文章目录 第一章 CarPlay集成开发之概述与环境篇 文章目录 系列文章目录概述开发环境依赖项总结 概述 CarPlay是由苹果公司开发的一款集成在iOS系统中,用于运行在已完成对接该系统的汽车中控台,仪表盘上的车载系统,该系统通过USB或者WI…...
js文件上传 分片上传/断点续传/极速秒传
(极速秒传)利用md5判断上传的文件是否存在 MD5信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。 每一个文件都会生成…...
从零构建智能Line机器人:基于ChatGPT API的即时通讯AI助手开发指南
1. 项目概述:一个能帮你“翻译”一切的Line机器人 如果你经常使用Line,并且对ChatGPT这类AI助手的能力感到好奇,那么“ChatGPT-Line-Bot”这个项目,可能就是为你量身定做的。简单来说,它是一个架设在Line平台上的聊天…...
凡亿AD22--器件导线连接及导线属性设置
一、课前基础授课前已完成:将所需元器件(如DC头、二极管、电容等)按布局要求,放置在原理图页面中,无需提前连接,本节课重点完成「电气连接」及导线属性优化。二、核心重点:导线连接(…...
无国界技术创业:构建全球化产品支持与远程协作体系
1. 从“车库”到“云端”:无国界创业的底层逻辑变迁 十年前,如果你在硅谷创立一家芯片设计工具(EDA)或嵌入式软件公司,头两年的客户拜访路线图大概就是101号公路沿线。工程师可以早上开车去圣何塞的客户办公室…...
Raw Accel终极指南:Windows鼠标加速的完整解决方案
Raw Accel终极指南:Windows鼠标加速的完整解决方案 【免费下载链接】rawaccel kernel mode mouse accel 项目地址: https://gitcode.com/gh_mirrors/ra/rawaccel 你是否厌倦了Windows系统自带的鼠标加速功能?是否在游戏和设计工作中需要更精准的鼠…...
免费一键去图片水印的App有哪些?免费去图片水印软件推荐,2026实测好用工具盘点
免费一键去图片水印的App有哪些?免费去图片水印软件推荐,2026实测好用工具盘点 在日常用图的过程中,水印几乎是绕不开的麻烦——从网络下载的素材到平台截图,从拍摄叠加的文字标注到品牌Logo,各种形式的水印让图片用起…...
LLM长文本处理实战:模块化分割策略与向量化预处理指南
1. 项目概述:一个为LLM打造的文本处理中心如果你和我一样,经常和大型语言模型打交道,无论是用它来总结文档、分析代码,还是处理客服对话,那你肯定遇到过这个痛点:喂给模型的文本太长了怎么办?模…...
Perplexity Nature检索实战手册:9类典型查询失败场景+对应Prompt工程模板(含IEEE/ACS/Nature交叉验证结果)
更多请点击: https://intelliparadigm.com 第一章:Perplexity Nature文章检索实战手册导论 Perplexity Nature 是面向科研人员与技术从业者设计的智能学术检索增强工具,它融合了语义理解、引用图谱分析与跨源文献聚合能力,专为高…...
终极网盘直链下载助手完整指南:免费解锁八大平台高速下载
终极网盘直链下载助手完整指南:免费解锁八大平台高速下载 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…...
QFN测试插座技术解析与应用实践
1. QFN测试插座的技术挑战与解决方案在半导体测试领域,QFN封装器件的测试一直是个棘手问题。这种无引线四方扁平封装虽然节省空间、散热优异,但恰恰因为缺少传统引脚,使得测试接触变得异常困难。我经手过不少QFN测试项目,最头疼的…...
Rails控制台集成AI助手:ask_chatgpt Gem的实践指南
1. 项目概述:在Rails控制台里装一个AI助手 如果你是一个Ruby on Rails开发者,并且每天都在跟Rails控制台( rails console )打交道,那你肯定有过这样的时刻:盯着一段复杂的ActiveRecord查询,或…...
