vector动态数组

c++中的vector动态数组 vector可以简单理解为STL(标准模版库)提供的功能强大的动态数组,vector不只是用来储存整型、浮点型等数字,还可以储存字符、字符串、结构体甚至是类等等。vector可以存储一系列类型相同的元素,因此,称vector为动态系列容器更加合适。提示:以下是本篇文章正文内容,下面案例可供参考以上就是vector容器的介绍以及一些简单的使用方法了,如要更深入了解vector类,可以参考《C_Primer_Plus_第六版》 阅读详情

vector是C++中的一种数据结构,确切的说是一个类,它相当于一个动态的数组,当程序员无法知道自己需要的数组长度多大时,使用vector可以达到最大节约空间的目的,也就是实现动态分配数组。

 

举例如下:

 

#include <iostream>
#include <vector>
using namespace std;

void main()
{
    vector <int> array;     //定义一个动态数组
        
    int a = 5,b =10 ;
    array.push_back(a); //将a的值添加到数组的最后
    cout << array[0] << endl;  //输出结果为5

    array.push_back(b);    //将b的值添加到数组的最后
    cout << array[1] << endl;  //输出结果为10
    
    return;
}

------------------------------------------------------------------------------

关于vector的成员函数说明如下:

 

1.push_back   在数组的最后添加一个数据
2.pop_back    去掉数组的最后一个数据 
3.at                得到编号位置的数据
4.begin           得到数组头的指针
5.end             得到数组的最后一个单元+1的指针
6.front        得到数组头的引用
7.back            得到数组的最后一个单元的引用
8.max_size     得到vector最大可以是多大
9.capacity       当前vector分配的大小
10.size           当前使用数据的大小
11.resize         改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
12.reserve      改变当前vecotr所分配空间的大小
13.erase         删除指针指向的数据项
14.clear          清空当前的vector
15.rbegin        将vector反转后的开始指针返回(其实就是原来的end-1)
16.rend          将vector反转构的结束指针返回(其实就是原来的begin-1)
17.empty        判断vector是否为空
18.swap         与另一个vector交换数据

【C++】动态数组vector的使用 本文介绍了C++标准库中vector容器的核心方法及其应用。主要内容包括:基础属性查询方法(size/empty/capacity)、元素访问方式(operator[]/at/front/back)、增删改操作(push_back/emplace_back/insert/erase)、内存管理(reserve/shrink_to_fit/resize)以及迭代器使用。文章提供了int类型和自定义struct的vector使用示例,展示了三种遍历方式,并演示了查找、添加和删除元素的操作。通过代码示例和运行结果 阅读详情

相关推荐

【C语言】动态数组vector实现

C语言中缺少类似C++ Vector或者Java ArrayList 的通用动态数组的库函数。但有些场景数组的容量没法确定,故自己造个简单的动态数组轮子,以便后续能使用得到。 #include <stdlib.h> #include <stdio.h> #include <string.h> #include <stdbool.h> /* 数组...

小灰灰土拨鼠的博客 806

约瑟夫问题、圆桌问题

为了方便,我们设一开始的 n n n 个人的编号为 0 0 0 ~ n − 1 n-1 n−1。 那么把第 k k k 个人干死之后(注意,第 k k k 个人的编号应该是 k − 1 k-1 k−1),队伍变成了: k , k + 1 , k + 2 , ⋯ &ThinSpace; , n − 2 , n − 1 , 0 , 1 , ⋯ k,k+1,k+2,\cdots,n-2,n-1,0,1,\cdots k,k+1,k+2,⋯,n−2,n−1,0,1,⋯ 然后会从第 k k

weixin_46064382的博客 406

三菱CNC数据采集实战:从SDK安装到C#代码调试全流程(附完整资源包)

本文为C#开发者提供了三菱CNC数据采集的完整实战指南。详细介绍了从获取并安装核心A2协议SDK、配置Visual Studio开发环境,到理解COM接口文档、封装C#通信类,并构建具备多设备连接与定时采集功能的WinForms应用程序的全流程。文章重点分享了网络调试、异常处理及性能优化等关键实战经验,帮助开发者高效打通工业自动化数据采集链路。

oauth7security的博客 707

数据结构——自定义动态数组类Array

Java为我们提供了ArrayList、LinkedList等类,里面的一些方法让我们能很方便的对常见的数据结构进行增删改查(add\remove\set\get)。下面让我们尝试自己实现一个动态数组类Array。 一、Array的结构 虽然是数组类,但类里面还是依靠数组来存储,所以给Array一个成员变量E[] data数组来存放数据。并且为了方便的知道当前数组中存放了多少元素,我们给Array...

TTT12137的博客 1320

iOS安全和逆向系列教程 第18篇:iOS应用脱壳技术详解与实战

iOS应用脱壳技术详解与实战 摘要: 本文深入剖析了iOS应用脱壳技术,首先解释了加壳(如FairPlay DRM)与脱壳的基本概念及必要性。通过otool命令可以检测应用的加密状态。文章详细介绍了三种主流脱壳工具:经典dumpdecrypted工具的使用方法、现代化Clutch工具的安装配置以及基于Frida的高级脱壳方案frida-ios-dump。针对特殊情况,还提供了使用LLDB手动dump内存的技术细节,包括查找基地址、计算dump范围和内存读取等操作。最后介绍了修复Mach-O文件头的Pytho

一个自学不成材的程序员 710

uniapp - 解决苹果ios真机运行报错:错误:请查看是否设备未加入到证书列表或者确认证书类型是否匹配(HbuilderX运行IOS手机出现问题,uniapp运行到IOS真机提示请查看是否设备未)

uni-app,ios苹果,App平台端,uniapp运行到IOS真机提示错误:请查看是否设备未加入到证书列表或者确认证书类型是否匹配,UUID在哪里,uniApp运行到ios真机报错解决,安装自定义基座App失败,没找到有计划资源,证书、标识符和描述文件,证书标识符和描述文件下面没有选项怎么回事,HBuilder真机调试报错请查看是否设备未加入到证书列表或者确认证书类型是否匹配,UniApp运行到IOS真机提示,授权的设备才可以直接安装基座,添加调试的IOS设备,在Devices中,添加手机设备UUID

🏆 前端领域优质创作者 1万+

自定义动态数组

需求: /* 现在要求定义一个数组(Array),里面定义了一个整型数组,但是此整型数组属于动态分配大小, 即:所以大小由程序指定,并在此基础上实现以下的两个子类。  *反转类:可以将数组的内容反转排列  *排序类:可以对数组进行排序的操作 */   import java.util.ArrayList; import java.util.Arrays; import java

F781492604的专栏 754

【PowerBI专栏】PowerBI导入MYSQL数据库

本文介绍了在PowerBI中连接MySQL数据库的方法。首先需要下载并安装MySQL官方.NET连接驱动(推荐8.4.0版本),安装完成后重启PowerBI。连接时需填写服务器IP和数据库名称等必填参数。文章详细说明了连接配置步骤,包括账户设置、数据表选择以及可能遇到的数据格式转换问题处理。最后指导用户完成数据清洗后进入PowerPivot进行后续计算。特别提醒最新9.4版本可能存在兼容性问题,建议使用稳定的8.4版本连接器。

技术与管理的平衡木- 689

C++动态数组<vector>用法介绍

vector数组优点: 和普通数组相比,不需要定义数组长度,而且长度可更改,节约空间,可以存放任意对象,可以拷贝赋值,可以在长度以外增加长度。 头文件:#include< vector > 构造声明:vector<类型>数组名 例如:vector< int >a 定义了一个储存整数的动态数组a 具体操作: 1.插入元素: 数组名.push_back(元素)...

Anterior_condyle的博客 3194

cesium 综合教程200+【目录】(已包含186篇文章)

cesium示例教程100+旨在为开发者提供简单快捷的,。在每一个示例中,解释相应的API知识点,做到。目录中有链接的为已有文章,没链接的为目标文章,不断更新中…

大剑师兰特的GIS世界 8890

编写python脚本调用ordinals以及BRC20的接口

1、钱包地址生成walletreceive,对应ord命令:ord wallet receive。6、测试手动出块generate,这个只在regtest链节点用得上。所有接口都是post请求,采用postman进行测试。4、测试bitcoin转币sendtoaddress。7、测试其他的wallet方法wallet。2、钱包币种铭刻inscription,对应bitcoin-cli命令。对应bitcoin-cli命令。对应bitcoin-cli命令。fee.json文本模板。还可以加很多根据需要加减。

云深海阔专栏 1047

动态数组-vector

vector std::vector是 STL 提供的内存连续的、可变长度的数组(亦称列表)数据结构。能够提供线性复杂度的插入和删除,以及常数复杂度的随机访问。 和普通数组对比 问题 普通数组 vector数组 定义数组 int a[N];int a[N] = {0}; // 全初始为 0 vector<int> a;vector<int> a(N); <br>vector<int> a(N, 1);// 全赋值为...

WANGHAOXIN364的博客 393

【SWAT】SWAT中预定义河网及流域

平原圩区没有明显的海拔差异。DEM中包含的地形信息无法定义河段的位置和水文连接,SWAT模型Watershed Delineator中提供两种方法,帮助用户输入流域拓扑信息。第一种方法,“Burn-in”和手动绘制河段和子流域边界。首先,使用“Burn-in”功能导入数字河道网络(DCN),并根据DEM和DCN绘制河流和子流域。然后在ArcGIS中编辑“流域”和“河段”层,可以调整位置、范围和水文连接。第二种方法,可以手动绘制或重新编辑河流和子流域,预定义河网及流域。

```On Earth, Be Water, By Coding``` 3273

C++动态数组vector实现

最近

yangbupang的博客 2732

92. SAP ABAP 系统里长文本 Long Text 的设计和读取函数 READ_TEXT 的详细讲解

SAP ABAP中的长文本(Long Text)是指在SAP系统中存储和管理较长文本信息的一种机制。长文本通常用于存储描述性信息、注释、说明等,这些文本信息可能超过了标准数据库表字段的长度限制。 长文本的作用主要有以下几点: 1. 更多的信息存储:长文本允许您存储和显示比标准表字段允许的更多信息。例如,产品描述、用户注释、维护计划等可能需要大量的文本来详细描述。 2. 更好的可读性:长文本提供了更好的文本格式化选项,可以改善可读性。用户可以使用段落、列表、字体样式等格式化文本,以便更容易地理解和阅读。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1995

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Vector动态数组的创建以及初始化

Vector动态数组的创建以及初始化 Vector动态数组的特点 ① vector动态数组本质上也是数组,它是根据自己不断变化的元素个数,不断寻找适合自己的连续的存储空间,切记:vector动态数组的存储空间与静态数组相同是在内存中连续分布的; ② vector动态数组可以从数组尾部不断插入新的元素,只能从尾部插入; ③ vector动态数组不止长度在变化,它在内存中的位置也在发生变化,由于需要寻找适合存储自己的连续的内存区域,因此vector数组操作大量元素时效率有点低下; ④ vector动态

超级霸霸强的博客 1415

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

C++之动态数组vector

可以通过多种方式定义和初始化。// 定义一个空的 vector// 使用初始化列表初始化// 使用默认值初始化// 10个元素,初始值为0// 复制构造// 从另一个 vector 的一部分构造是 C++ STL 中非常重要的容器之一,它结合了动态数组的灵活性和数组的高效性。通过动态扩展、随机访问和灵活的内存管理,可以满足多种编程需求。在实际开发中,合理使用可以提高代码的可读性和性能。

zzh_Zao的博客 2941

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Vector动态数组复习

目录 Vector动态数组复习 Vector的特点 Vector数组与new动态申请内存的不同之处 Vector的size与capacity的区别 概念区分 Capacity概念的适用范围 代码示例 Capacity与size通常搭配使用提高代码运行效率 Vector数组初始化 初始化的方式 代码示例 指定位置插入/删除元素 操作方式 代码示例 分清begin()与end()迭代器返回值指向何处 正反向遍历动态数组 代码示例 Cbegin()&cend()与beg

超级霸霸强的博客 275

动态数组和vector

template<class T,//C++17 起其中,参数T为容器要存储的元素类型,对于T需要满足:可复制赋值和可复制构造(C++11前)。要求元素类型是完整类型并满足可擦除,即元素类型的对象能以给定的分配器(Allocator)销毁(C++11 起,C++17 前)。要求元素类型是完整类型并满足可擦除,但许多成员函数附带了更严格的要求。(C++17 起)。Allocator为用于获取/释放内存及构造/析构内存中元素的分配器。优势支持随机访问,访问无开销,时间恒定。线性遍历/搜索。

WSH2012ffff的博客 1022

使用C++ vector类创建动态数组

在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定。 因此需要使用动态数组以解决上述问题。C语言提供了一些内存管理函数,这些内存管理函数结合指针 可以按需要动态地分配内存空间,来构建动态数组,也可把不再使用的空间回收待用,为有效地利用 内存资源提供了手段。C++提供了使用更方便的vector类,使得对数组的操作更加的便捷。 #include #i

缘分.天空 4347

Vector动态数组详细介绍

定义vector需要包含头文件<vector>。可以使用以下语法定义一个vector:其中,type表示vector中元素的类型,vec表示vector的名称。例如,定义一个包含整数的vector可以使用以下代码:​定义vector后,可以使用以下语法初始化vector:使用花括号{}初始化vector,如下所示:使用括号()初始化vector,如下所示:这将创建一个包含3个元素的vector,每个元素的初始值为0。

m0_73421035的博客 819

动态数组,Vector,ArrayList

根据不同的数据结构,比如数组,线性,链表结构等开发出不同的类。这些类称为java中集合框架。

weixin_62192155的博客 1195

动态数组类:vector

在程序设计过程中,如果我们知道数组的长度,可以定义静态数组。实际上,我们会经常遇到数组长度在一开始并不能确定的情况,那么这个时候就可以用动态数组类vector来定义数组了,这样不仅节省了存储的内存,还使得程序更加灵活可靠。 1.vector的特点 vector是个模板类,提供了动态数组的通用功能,特点如下: (1)在数组末尾添加(删除)元素所需的时间是固定的。 (2)在数组中间添加(删除)元素所需...

不积跬步,无以至千里! 2537
上一篇: OpenCV中RGB转HSV和HSV转RGB问题
下一篇: MFC中将窗口最小化到托盘的一种方法
河海壹粟
博客等级 码龄14年 19粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值