【C++】STL——vector的使用
目录
💕1.vector介绍
💕2.vector的基本用法
💕3.vector功能的具体用法 (讲解)
💕4.vector——size,capacity函数的使用 (简单略讲)
💕5.resize,reserve函数
💕6.empty函数
💕7.front函数,back函数,operator[ ]函数
💕8.push_back函数,pop_back函数
💕9.begin函数,end函数
💕10.rbegin函数,rend函数
💕11.insert函数,erase函数
💕12.sort函数对vector排序
💕13.完结
独帜入渊深未知 身似浮萍命难持
(最新更新时间——2025.2.4)

💕1.vector介绍
vector是 C++ 标准模板库(STL)中提供的动态数组容器,能够自动管理内存,支持高效的元素访问和在尾部快速增删元素。与普通数组相比,vector的大小可以动态调整,是 C++ 中最常用的容器之一。
💕2.vector的基本用法
vector 的使用需要包含一个头文件
#include<vector>
vector 中有许多我们常见的操作,如下->:
迭代器功能->:
其他功能:
💕3.vector功能的具体用法 (讲解)
接下来会讲解vector中最常用的几种函数用法,先讲解vector的初始化
vector在创建时因为模板的作用,可以指定vector的内容类型,如下->:
#define _CRT_SECURE_NO_WARNINGS #include<vector> #include<string> #include<iostream> using namespace std; int main() {vector<int> a1 = { 1,2,3 };vector<double> a2 = { 2 };vector<string> a3 = { "hello","world" };vector<char> s1 = { 'c' };vector<int> b1(2);//也可以如下初始化,但不推荐vector<int> b2(2,3); }可以指定是int,double,char或者string类型
💕4.vector——size,capacity函数的使用 (简单略讲)
size函数用来返回顺序表(vector)中的有效值
capacity用来返回顺序表(vector)中的容量
maxsize用来表示顺序表(vector)的最大有效值是多少
代码如下->:
#define _CRT_SECURE_NO_WARNINGS #include<vector> #include<string> #include<iostream> using namespace std; int main() {vector<int> a1 = { 1,2,3,4 };cout << a1.size()<<endl;//打印4cout << a1.capacity() << endl;//打印4cout << a1.max_size() << endl;//打印一个巨大的数 }
💕5.resize,reserve函数
resize函数可以更改顺序表中的有效值(size)个数,并且如果更改后的size个数大于原size个数,可以将新开辟的size初始化一个值(注意是可以,不是一定,需要用户显示写)
我们用代码为例
可以看到,我们更改了size的个数,接下来进行别的测试
这次,我们更改后的size个数比原来的size大,我们显示的将新开辟的size全部初始化为9,注意一定是新开辟的size初始化,如果我们更改后的size比原来的小是不会有作用的,如下:
接下来: reserve 函数是用来更改顺序表中的capacity大小的,它被称为预留空间,它只会扩大capacity,并不会缩小capacity,并且不会将新开辟的capacity初始化,我们以代码为例
这里的遍历顺序表没有意义,不用在意
💕6.empty函数
empty函数用来判断顺序表是否为空,它返回的值是bool类型
💕7.front函数,back函数,operator[ ]函数
front函数用来返回顺序表的第一个有效值
back函数用来返回顺序表的最后一个有效值
operator[ ]供我们可以用下标访问顺序表中的内容
代码如下->:
💕8.push_back函数,pop_back函数
push_back用来实现顺序表的尾插
pop_back用来实现顺序表的尾删
代码如下->:
💕9.begin函数,end函数
begin函数与end函数都为迭代器类型,我们可以把它理解为指针一样的东西
begin()返回的是顺序表的首地址,end()返回的是顺序表中最后一个元素的下一个位置
虽然它们的返回类型不是指针,但我们可以像使用指针一样使用它
可以理解为指针一样的存在,但是并不是指针
用它们我们可以实现遍历
💕10.rbegin函数,rend函数
rbegin函数与rend函数一样都是迭代器类型,并且依旧可以像指针一样使用
只不过rbegin与rend所指的位置调过来了
rbegin函数返回的是顺序表中最后一个元素的下一个位置
rend()返回的是顺序表的首地址
rbegin的++被重载了,也就是说rbegin函数的++实际上是我们正常使用的--,而rbegin的--实际上就是我们正常使用的++
rend同理
💕11.insert函数,erase函数
insert函数用来实现在某一位置插入数据
erase函数用来实现在某一位置删除数据,也可以全部删除
这里需要特别注意,insert与erase函数所指的位置,并不是我们常用的下标,而是迭代器返回的位置,我们先看代码->:
💕12.sort函数对vector排序
我们如果想对vector函数排序,可以使用std里面的sort函数排序,并且可以选择升序或者降序,示例如下->:需要注意的是sort函数需要的是迭代器类型
默认是升序的结果,如果想要降序就要用到一个函数,并添加到sort函数里
std::greater<int>()
如何使用?
这样就变为降序了
💕13.完结
相关文章:
【C++】STL——vector的使用
目录 💕1.vector介绍 💕2.vector的基本用法 💕3.vector功能的具体用法 (讲解) 💕4.vector——size,capacity函数的使用 (简单略讲) 💕5.resizeÿ…...
springboot/ssm互联网智慧医院体检平台web健康体检管理系统Java代码编写
springboot/ssm互联网智慧医院体检平台web健康体检管理系统Java代码编写 基于springboot(可改ssm)vue项目 开发语言:Java 框架:springboot/可改ssm vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库&am…...
介绍一下Mybatis的Executor执行器
Executor执行器是用来执行我们的具体的SQL操作的 有三种基本的Executor执行器: SimpleExecutor简单执行器 每执行一次update或select,就创建一个Statement对象,用完立刻关闭Statement对象 ReuseExecutor可重用执行器 可重复利用Statement…...
Wide Deep 模型:记忆能力与泛化能力
实验和完整代码 完整代码实现和jupyter运行:https://github.com/Myolive-Lin/RecSys--deep-learning-recommendation-system/tree/main 引言 Wide & Deep 模型是一种结合了线性模型(Wide)和深度神经网络(Deep)的混…...
Hot100之矩阵
73矩阵置零 题目 思路解析 收集0位置所在的行和列 然后该行全部初始化为0 该列全部初始化为0 代码 class Solution {public void setZeroes(int[][] matrix) {int m matrix.length;int n matrix[0].length;List<Integer> list1 new ArrayList<>();List<…...
Python语言的安全开发
Python语言的安全开发 引言 在信息技术迅速发展的今天,网络安全问题愈发凸显。随着Python语言的广泛应用,尤其是在数据分析、人工智能、Web开发等领域,其安全问题越来越受到重视。Python作为一门高效且易于学习的编程语言,虽然在…...
蓝桥杯刷题DAY3:Horner 法则 前缀和+差分数组 贪心
所谓刷题,最重要的就是细心 📌 题目描述 在 X 进制 中,每一数位的进制不固定。例如: 最低位 采用 2 进制,第二位 采用 10 进制,第三位 采用 8 进制, 则 X 进制数 321 的十进制值为ÿ…...
java项目验证码登录
1.依赖 导入hutool工具包用于创建验证码 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.5.2</version></dependency> 2.测试 生成一个验证码图片(生成的图片浏览器可…...
手写MVVM框架-环境搭建
项目使用 webpack 进行进行构建,初始化步骤如下: 1.创建npm项目执行npm init 一直下一步就行 2.安装webpack、webpack-cli、webpack-dev-server,html-webpack-plugin npm i -D webpack webpack-cli webpack-dev-server html-webpack-plugin 3.配置webpac…...
2025年2月2日(网络编程 tcp)
tcp 循环服务 import socketdef main():# 创建 socket# 绑定tcp_server socket.socket(socket.AF_INET, socket.SOCK_STREAM)tcp_server.bind(("", 8080))# socket 转变为被动tcp_server.listen(128)while True:# 产生专门为链接进来的客户端服务的 socketprint(&qu…...
【Docker项目实战】使用Docker部署MinIO对象存储(详细教程)
【Docker项目实战】使用Docker部署MinIO对象存储 前言一、 MinIO介绍1.1 MinIO简介1.2 主要特点1.3 主要使用场景二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载MinIO镜像五、…...
使用ollama本地部署Deepseek r1
1、下载ollama 在浏览器地址输入:https://ollama.com/ 选择windows版本的下载 2、安装ollama 3、运行ollama 安装完成后,打开命令行工具win r 在命令行输入:ollama 4、使用ollama下载并部署Deepseed r1 在ollama网站,下载…...
Unity飞行代码 超仿真 保姆级教程
本文使用Rigidbody控制飞机,基本不会穿模。 效果 飞行效果 这是一条优雅的广告 如果你也在开发飞机大战等类型的飞行游戏,欢迎在主页搜索博文并参考。 搜索词:Unity游戏(Assault空对地打击)开发。 脚本编写 首先是完整代码。 using System.Co…...
DeepSeek蒸馏模型:轻量化AI的演进与突破
目录 引言 一、知识蒸馏的技术逻辑与DeepSeek的实践 1.1 知识蒸馏的核心思想 1.2 DeepSeek的蒸馏架构设计 二、DeepSeek蒸馏模型的性能优势 2.1 效率与成本的革命性提升 2.2 性能保留的突破 2.3 场景适应性的扩展 三、应用场景与落地实践 3.1 智能客服系统的升级 3.2…...
使用 sunshine+moonlight 配置串流服务无法使用特殊键
最近了解到串流技术,使用的方案是 sunshine 为串流服务端,moonlight 为客户端,分别在 ipad,android,tv 端安装。 存在的问题 不管说什么平台都会有特殊键无法使用的问题,最初我发现在安卓电视,…...
5.角色基础移动
能帮到你的话,就给个赞吧 😘 文章目录 角色的xyz轴与移动方向拌合输入轴值add movement inputget controller rotationget right vectorget forward vector 发现模型的旋转改变后,xyz轴也会改变,所以需要旋转值来计算xyz轴方向。 …...
单细胞-第四节 多样本数据分析,下游画图
文件在单细胞\5_GC_py\1_single_cell\2_plots.Rmd 1.细胞数量条形图 rm(list ls()) library(Seurat) load("seu.obj.Rdata")dat as.data.frame(table(Idents(seu.obj))) dat$label paste(dat$Var1,dat$Freq,sep ":") head(dat) library(ggplot2) lib…...
Linux的循环,bash的循环
Linux的循环,bash的循环 在 Linux 系统中,Bash 循环是最常用的循环实现方式(Bash 是 Linux 默认的 Shell),但广义上“Linux 的循环”可能涉及其他 Shell 或编程语言的循环结构。以下是 Bash 循环的详细解析及其在 Linux 环境中的…...
【DeepSeek开发】Python实现股票数据可视化
代码: Github:Python实现股票数据可视化代码https://github.com/magolan2000/Data-visualization/tree/master 软件环境:PyCharm 2022.3.1 数据来源:akshare 最近DeepSeek可谓是热度不断,因此想评判一下DeepSeek的编程…...
华为小米vivo向上,苹果荣耀OPPO向下
日前,Counterpoint发布的手机销量月度报告显示,中国智能手机销量在2024年第四季度同比下降3.2%,成为2024年唯一出现同比下滑的季度。而对于各大智能手机品牌来说,他们的市场份额和格局也在悄然发生变化。 华为逆势向上 在2024年第…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...






























