C++(3)
1.顺序表封装
#include <iostream>using namespace std;//类型重命名
using datatype = int;//定义一个顺序表类
class SeqList
{
private:datatype *data;//指向堆区空间的指针int size = 0;//数组大小int len = 0;//顺序表实际长度public://无参构造SeqList():data(new datatype[10]), size(10), len(0){cout<<"无参构造完成"<<endl;}//有参构造SeqList(int s):data(new datatype[s]), size(s), len(0){if(s<0){cout<<"参数有误,请输入非负整数"<<endl;}else{cout<<"有参构造完成"<<endl;}}//判空函数//返回1表示空,返回0表示非空bool empty(){if(len==0){return 1;}return 0;}//判满函数//返回1表示满,返回0表示没满bool full(){if(len==size){return 1;}return 0;}//添加数据函数bool add(datatype e){if(len<0||len>=size){cout<<"添加失败"<<endl;return -1;}else{data[len] = e;len++;cout<<"添加成功"<<endl;return 0;}}//求顺序表实际长度函数int length(){return len;}//任意位置插入函数bool insert_pos(int pos, datatype e){if(full()){cout<<"顺序表已满,插入失败"<<endl;return -1;}else if(pos<0||pos>len){cout<<"插入失败"<<endl;return -1;}else{for(int i=len-1;i>=pos;i--){data[i+1] = data[i];}data[pos] = e;len++;cout<<"插入成功"<<endl;return 0;}}//任意位置删除函数bool delete_pos(int pos){if(empty()){cout<<"顺序表为空,删除失败"<<endl;return -1;}else if(pos<0||pos>=len){cout<<"删除失败"<<endl;return -1;}else{for(int i=pos+1;i<len;i++){data[i-1] = data[i];}len--;cout<<"删除成功"<<endl;return 0;}}//访问容器中任意一个元素datatype &at(int index){if(index<0||index>=len){cout<<"查找失败"<<endl;throw std::out_of_range("index out of range");}return data[index];}//君子函数:二倍扩容void expand(){datatype *ndata = new datatype[2*size];for(int i=0;i<len;i++){ndata[i] = data[i];}delete []data;data = ndata;cout<<"二倍扩容成功"<<endl;}//释放函数void seqfree(){delete []data;data = NULL;cout<<"释放成功"<<endl;}
};int main()
{//实例化SeqList seqlist1(20);//添加数据datatype e1 = 13;datatype e2 = 9;datatype e3 = 30;seqlist1.add(e1);seqlist1.add(e2);seqlist1.add(e3);//判空if(seqlist1.empty()){cout<<"该顺序表为空"<<endl;}else{cout<<"该顺序表不空"<<endl;}//判满if(seqlist1.full()){cout<<"该顺序表满了"<<endl;}else{cout<<"该顺序表没满"<<endl;}//求顺序表实际长度int len = seqlist1.length();cout<<"该顺序表实际长度为"<<len<<endl;//任意位置插入数据datatype e4 = 66;datatype e5 = 51;seqlist1.insert_pos(0,e4);seqlist1.insert_pos(2,e5);//任意位置删除数据seqlist1.delete_pos(4);//访问容器中任意一个元素datatype z = seqlist1.at(2);cout<<"该顺序表下标为2的元素为"<<z<<endl;//二倍扩容seqlist1.expand();//释放seqlist1.seqfree();return 0;
}
2.思维导图
相关文章:
C++(3)
1.顺序表封装 #include <iostream>using namespace std;//类型重命名 using datatype int;//定义一个顺序表类 class SeqList { private:datatype *data;//指向堆区空间的指针int size 0;//数组大小int len 0;//顺序表实际长度public://无参构造SeqList():data(new d…...
工具学习_Conan_Install
1. 依赖关系获取 为了获取TPL间的依赖关系,我们首先从 GitHub 项目中提取 Conan 包含的组件,如下所示: 在获取组件名之后,我们根据组件名从 Conan 中获取 TPL 间的依赖关系,如下图所示: 之后获得包含TPL间…...
忘记了PDF文件的密码,怎么办?
PDF文件可以加密,大家都不陌生,并且大家应该也都知道PDF文件有两种密码,一个打开密码、一个限制编辑密码,因为PDF文件设置了密码,那么打开、编辑PDF文件就会受到限制。忘记了PDF密码该如何解密? PDF和offi…...
HTML实战课堂之启动动画弹窗
一:代码片段讲解 小提示:下面是一个包含启动页和弹窗的完整示例。这个示例包括一个简单的启动页和一个弹窗,当用户点击启动页上的按钮时,会显示弹窗。 1. **HTML结构**: - #startPage:启动页,包…...
thinkphp 5.0 结合redis 做延迟队列,队列无法被消费
目录 一、Linux 环境下 二、如何验证消息队列被正确监听 一、Linux 环境下 项目部署在Linux 环境下,首先找到项目的部署路径,接着输入命令,这个命令是以守护进程方式进行监听你的队列,只要redis 不关闭 就可以一直监听这个队列 nohup php …...
open3d+opencv实现矩形框裁剪点云操作(C++)
👑主页:吾名招财 👓简介:工科学硕,研究方向机器视觉,爱好较广泛… 💫签名:面朝大海,春暖花开! open3dopencv实现矩形框裁剪点云操作(Cÿ…...
Android RIL(Radio Interface Layer)全面概述和知识要点(3万字长文)
在Android面试时,懂得越多越深android framework的知识,越为自己加分。 目录 第一章:RIL 概述 1.1 RIL 的定义与作用 1.2 RIL 的发展历程 1.3 RIL 与 Android 系统的关系 第二章:RIL 的架构与工作原理 2.1 RIL 的架构组成 2.2 RIL 的工作原理 2.3 RIL 的接口与协议…...
mac安装java17
目录 1、确保 Homebrew 已安装。如果没有安装,运行以下命令2、安装 OpenJDK 173、安装完成后,运行以下命令设置环境变量4、检查一下 1、确保 Homebrew 已安装。如果没有安装,运行以下命令 /bin/bash -c "$(curl -fsSL https://raw.gith…...
npx和npm区别
npx 和 npm 是 Node.js 生态中的两个工具,它们有不同的用途和功能: 1. npm(Node Package Manager) 主要作用: 包管理工具: 用来安装、管理、卸载 Node.js 的包(module/library)。提…...
STM32 FreeRTOS 介绍
目录 什么是裸机开发 什么是操作系统 通用操作系统 实时操作系统 FreeRTOS简介 FreeRTOS发展历史 FreeRTOS优势 FreeRTOS特点 什么是裸机开发 裸机开发指的是在没有操作系统(OS)或者其他高级软件支持的情况下,直接在裸机硬件上进行软…...
C#面向对象(封装,继承,多态,抽象)--08
目录 一.类和对象 1.类(Class) 2.对象 二.继承 1.定义 2.实现方式 三.多态 1.定义 2.实现方式 3.代码示例 四.抽象 1.定义 2.实现方式 3.代码示例 总结 面向对象(OOP)是C#编程语言的核心概念之一.它通过类和对象的方式来组织代码,提供了更高的代码复用性,可拓展性…...
Frp工具配置内网穿透
Frp工具配置内网穿透 一.资源准备 固定 IP 的公网服务器:最低配 1C1G 即可,硬盘 20G,带宽 10M,系统推荐使用 Debian 9 或 10( Ubuntu 20.04 LTS)。安全组需要开放 443、8080、8081 端口(其他…...
pg_hba.conf是PostgreSQL中控制客户端认证和访问权限的配置文件
报错提示:FATAL: no pg_hba.conf entry for host "117.26.241.1", user "postgres", databa 报错解释: 这个错误表示PostgreSQL数据库服务器没有找到适合的认证方式来处理来自特定IP地址(在这个例子中是117.26.241.1&a…...
Winforms开发基础之非主线程操作UI控件的误区
前言 想象一下,你正在开发一个桌面应用程序,用户点击按钮后需要执行一个耗时操作。为了避免界面卡顿,你决定使用后台线程来处理任务。然而,当你在后台线程中尝试更新UI控件时,程序突然崩溃了。这是为什么呢࿱…...
【机器学习】主动学习-增加标签的操作方法-流式选择性采样(Stream-based selective sampling)
Stream-Based Selective Sampling Stream-based selective sampling 是一种主动学习方法,在处理大量数据流时特别有用。它允许学习算法动态选择是否对当前数据实例进行标注(通过与 Oracle 交互)。此方法主要应用于流数据场景中,目…...
STL之VectorMapList针对erase方法踩坑笔记
前沿 如下总结的三种容器,开头都会涉及当前容器的特点,再者就本次针对erase方法的使用避坑总结。 一.Vector vector关联关联容器,存储内存是连续,且特点支持快速访问,但是插入和删除效率比较地(需要找查找和移动)。另…...
Docker compose 使用 --force-recreate --no-recreate 控制重启容器时的行为
一、--force-recreate 作用 强制重新创建指定的服务,即使服务的配置未发生任何变化。忽略现有容器的状态,无论容器是停止、运行还是有无变化,都会销毁并重新创建。 用法 docker compose up -d --force-recreate [services...]不指定服务&…...
【pycharm】远程部署失败,查看日志
pycharm 远程部署失败,查看日志 远程一直失败,gateway超时会还知道拉取一份日志: 在./root 下 发现了崩溃日志,启动崩溃了,导致backend一直无法启动。win11就是一直在connect到ubuntu的后端pycharm。。gateway 拉取的日志 我上传的linux版本的pycharm暂时存在dist目录下,…...
FilmMusic
电影推荐 《五朵金花》《沉睡魔咒》《三国之见龙卸甲》《灰姑娘》《正义联盟》《沉睡魔咒2》 《神奇女侠》《神奇女侠》HD中字在线观看 - 影视天堂 《野性的呼唤》《野性的呼唤2020》HD中字在线观看 - 影视天堂 《毒液2》《小马王》《秦时明月之百步飞剑》《秦时明月之夜尽…...
使用 Python 实现自动化办公(邮件、Excel)
目录 一、Python 自动化办公的准备工作 1.1 安装必要的库 1.2 设置邮件服务 二、邮件自动化处理 2.1 发送邮件 示例代码 注意事项 2.2 接收和读取邮件 示例代码 三、Excel 自动化处理 3.1 读取和写入 Excel 文件 示例代码 3.2 数据处理和分析 示例代码 四、综合…...
稀疏编码 (Sparse Coding) 算法详解与PyTorch实现
稀疏编码 (Sparse Coding) 算法详解与PyTorch实现 目录 稀疏编码 (Sparse Coding) 算法详解与PyTorch实现1. 稀疏编码 (Sparse Coding) 算法概述1.1 稀疏表示1.2 稀疏编码的优势2. 稀疏编码的核心技术2.1 稀疏编码的目标2.2 稀疏编码的优化2.3 基向量的学习3. PyTorch实现稀疏编…...
基于springboot的疫情网课管理系统
作者:学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等 文末获取“源码数据库万字文档PPT”,支持远程部署调试、运行安装。 项目包含: 完整源码数据库功能演示视频万字文档PPT 项目编码࿱…...
Cookie和Session
会话: 有状态会话: 客户端知道发起请求的是谁 无状态会话: 不知道发起请求的是谁 只知道有请求 http是无状态请求 保存会话信息的两种技术: 可以通过Cookie和Session储存会话信息 cookie:客户端技术 信心存…...
分布式ID—雪花算法
背景 现在的服务基本是分布式、微服务形式的,而且大数据量也导致分库分表的产生,对于水平分表就需要保证表中 id 的全局唯一性。 对于 MySQL 而言,一个表中的主键 id 一般使用自增的方式,但是如果进行水平分表之后,多…...
【无标题】四类sql语句通用
select select a from tableA where aa1: 总是丢掉from。。 运算: select a*3 b from tableA; 使用()来定义运算优先级。 别名 select a as xx from tableA;可以不加as,仅为增加可读性。 别名不可以中间有空格&…...
Vue的生命周期方法
Vue 的生命周期方法是指 Vue 实例从创建到销毁的过程中的一系列钩子函数。它们可以让你在特定时刻执行代码。Vue 2 和 Vue 3 的生命周期钩子大致相同,下面是 Vue 中常用的生命周期方法: 1. beforeCreate 在实例初始化之后,数据观测和事件配…...
Android SystemUI——基础简介(一)
Android SystemUI 是 Android 操作系统的一部分,负责处理与用户界面相关的所有元素。它是 Android 设备上的一个关键组件,管理着屏幕顶部的状态栏(显示时间、信号强度、电池电量等)、屏幕底部的导航栏(返回、主页、最近…...
大疆机场及无人机上云
最近基于大疆上云api进行二次开发,后面将按照开发步骤对其进行说明!...
js:正则表达式
目录 正则表达式的语法 定义 检测 检索 元字符 边界符 量词 字符类 表单判断案例 修饰符 过滤敏感词 正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本字符组合模式 正则表达式是一…...
【芯片设计- RTL 数字逻辑设计入门 9.2 -- flip flop 与 寄存器的关系详细介绍】
请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】 文章目录 Overview硬件角度的 Flip-Flop软件角度的寄存器举例说明硬件设计角度软件开发角度D Flip-Flop 实现基本原理:Verilog 代码:UT 示例JK Flip-Flop 实现基…...
JAVA实战开源项目:课程智能组卷系统(Vue+SpringBoot) 附源码
本文项目编号 T 009 ,文末自助获取源码 \color{red}{T009,文末自助获取源码} T009,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 老…...
【Rust自学】11.8. 忽略测试
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 11.8.1. 忽略某些测试,执行剩余测试 某些测试执行起来非常耗时,所以在大部分情况下会想在运行cargo test时忽略它…...
浅谈云计算09 | 服务器虚拟化
服务器虚拟化基础 一、虚拟化的定义二、系统虚拟化三、服务器虚拟化的核心要义四、典型实现:探索不同路径五、全虚拟化与半虚拟化六、主流服务器虚拟化技术 一、虚拟化的定义 虚拟化是一种将物理资源抽象为逻辑资源的技术,通过在物理硬件与操作系统、应…...
【Ubuntu 24.04】虚拟机常见问题解决
1.24开启3D加速黑屏 参考文章:Ubuntu24开机黑屏,VMware卡死,虚拟机繁忙解决方案 没有3D加速就没有动画,所以我们需要开启3D加速,但是直接开启3D加速会黑屏 由于Ubuntu24内部的图形加速驱动异常,因此需要更新…...
【已解决】【记录】2AI大模型web UI使用tips 本地
docker desktop使用 互动 如果需要发送网页链接,就在链接上加上【#】号 如果要上传文件就点击这个➕号 中文回复 命令它只用中文回复,在右上角打开【对话高级设置】 输入提示词(提示词使用英文会更好) Must reply to the us…...
iostat命令详解
iostat 命令是 I/O statistics(输入/输出统计)的缩写,用来报告系统的 CPU 统计信息和块设备及其分区的 IO 统计信息。iostat 是 sysstat 工具集的一个工具,在 Ubuntu 系统中默认是不带 iostat 命令的,需要自行安装: $ sudo apt in…...
工程水印相机结合图纸,真实现场时间地点,如何使用水印相机,超简单方法只教一次!
在工程管理领域,精准记录现场信息至关重要。水印相机拍照功能,为工程人员提供了强大的现场信息记录工具,助力工程管理和统计工程量,更可以将图片分享到电脑、分享给同事,协同工作。 一、打开图纸 打开手机版CAD快速看图…...
vue城市道路交通流量预测可视化系统
文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站、收藏、不迷路! 项目亮点 编号:R09 🚇 网站大屏管理三大前端、vuespringbootmysql、前后端分离架构 🚇 流量预测道路查询…...
秩为1的矩阵可以表示为两个向量的外积
秩为1的矩阵可以表示为两个向量的外积,为什么 秩为 1 的矩阵可以表示为两个向量的外积,原因源于矩阵的线性代数性质。以下是详细的解释: 1. 矩阵的秩定义 矩阵的秩是矩阵列向量(或行向量)线性无关的最大个数。当矩阵…...
深入浅出 Android AES 加密解密:从理论到实战
深入浅出 Android AES 加密解密:从理论到实战 在现代移动应用中,数据安全是不可忽视的一环。无论是用户隐私保护,还是敏感信息的存储与传输,加密技术都扮演着重要角色。本文将以 AES(Advanced Encryption Standard&am…...
MySQL 与 Redis 的数据一致性问题
读数据的逻辑基本一致问题1: 一致性有哪些?MySQL 与 Redis 的数据一致性方案有哪些?先写MySQL还是先写Redis?缓存数据是更新还是清除?强一致还是最终一致?问题: 如果mysql写成功了,但是Redis写(删除)失败了怎么办?重试机制的幂等问题如何解决? 方案1: 先更新 MySQL 再清…...
【论文笔记】多个大规模数据集上的SOTA绝对位姿回归方法:Reloc3r
abstract 视觉定位旨在确定查询图像相对于姿势图像数据库的相机姿势。 近年来,直接回归相机姿势的深度神经网络由于其快速推理能力而受到欢迎。 然而,现有方法很难很好地推广到新场景或提供准确的相机姿态估计。 为了解决这些问题,我们提出了…...
UE5 打包项目
UE5 打包项目 flyfish 通过 “文件”->“打开项目”,然后在弹出的对话框中选择项目文件(通常是以.uproject为后缀的文件) 选择目标平台: 在 UE5 主界面中,找到 “平台”(Platforms)。根据…...
JavaEE之定时器及自我实现
在生活当中,有很多事情,我们不是立马就去做,而是在规定了时间之后,在到该时间时,再去执行,比如:闹钟、定时关机等等,在程序的世界中,有些代码也不是立刻执行,…...
好用的php商城源码有哪些?
选择一个优秀的商城工具,能更好地帮助大家建立一个好用的商城系统。目前比较流行的都是开源PHP商城系统,那么现实中都有哪些好用的PHP商城源码值得推荐呢?下面就带大家一起来了解一下。 1.TigShop 【推荐指数】:★★★★★☆ 【推…...
GO语言实现KMP算法
前言 本文结合朱战立教授编著的《数据结构—使用c语言(第五版)》(以下简称为《数据结构(第五版)朱站立》)中4.4.2章节内容编写,KMP的相关概念可参考此书4.4.2章节内容。原文中代码是C语言&…...
国产Docker可视化面板Dpanel的安装与功能解析
国产Docker可视化面板Dpanel的安装及功能介绍 Docker 可视化面板系统,提供完善的 docker 管理功能。 支持查看基本信息、运行状态统计、网络统计、磁盘统计、用量统计等功能 容器管理: 创建/修改容器 支持基本配置、环境变量、…...
Elaticsearch常用的浏览器插件
Elasticsearch head https://github.com/mobz/elasticsearch-headElasticsearch Tools https://www.chajianxw.com/developer/31765.html#google_vignetteElasticvue https://blog.csdn.net/weixin_60457220/article/details/143595846...
LabVIEW数据库管理系统
LabVIEW数据库管理系统(DBMS)是一种集成了数据库技术与数据采集、控制系统的解决方案。通过LabVIEW的强大图形化编程环境,结合数据库的高效数据存储与管理能力,开发人员可以实现高效的数据交互、存储、查询、更新和报告生成。LabV…...
【HM-React】08. Layout模块
基本结构和样式reset 结构创建 实现步骤 打开 antd/Layout 布局组件文档,找到示例:顶部-侧边布局-通栏拷贝示例代码到我们的 Layout 页面中分析并调整页面布局 代码实现 pages/Layout/index.js import { Layout, Menu, Popconfirm } from antd impor…...