首页 > 其他分享 >动态数组

动态数组

时间:2024-07-14 13:42:25浏览次数:6  
标签:vertex back re vector 数组 push 动态

vector类

说明:
不强制类实际元素具有唯一性的集合;基本上是个数组,可以调大小
扩大数组的过程:
开始默认开辟一个单元大小,当扩大时,在内存上开辟一块空间比刚开始的大,再把之前的复制过来,再删掉旧的数组;
基本使用代码示例:

int main()
{
  std::vector<vertex>a;//把vertex存在一段内存上默认一个单元大小
//若要调整大小要复制数据 用vector指针会避免复制
a.push_back({1,2,3,4})//数组中添加元素
}

.size()

计算动态数组大小 是vector类的方法

a[i]

访问下标为i的动态数组中的数据
动态数组的遍历:
for(vertex& v:a)

.clear()

清除

.erase(a.begin()+1)

参数是迭代类型的
单独基础数组中元素,该段代码表示移除第二个元素;

.reserve()

调整容量大小,不是创建新数组 删旧数组;
代码示例:

int main()
{
 std::vector<vertex>re;
re.reserve(3)//调整动态数组容量
re.push_back(vertex(1,2,3));//vertex是子main中构造的一个对象 然后再复制到vector中
//改成re.emplace_back(vertex(1,2,3))//这传递的不是构造的vertex而是传的构造函数的参数列表
re.push_back(vertex(4,5,6));
re.push_back(vertex(7,8,9));
}

标签:vertex,back,re,vector,数组,push,动态
From: https://www.cnblogs.com/WZline/p/18301433

相关文章

  • C#可空类型与数组
    文章目录可空类型NULL合并运算符(??)数组数组声明数组初始化数组赋值数组访问多维数组交错数组数组类数组类的常用属性数组类的常用方法可空类型  C#提供了一种特殊的数据类型,nullable类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个null值......
  • 力扣-81. 搜索旋转排序数组 II
    1.题目题目地址(81.搜索旋转排序数组II-力扣(LeetCode))https://leetcode.cn/problems/search-in-rotated-sorted-array-ii/题目描述已知存在一个按非降序排列的整数数组nums,数组中的值不必互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上......
  • 力扣·33. 搜索旋转排序数组
    1.题目题目地址(33.搜索旋转排序数组-力扣(LeetCode))https://leetcode.cn/problems/search-in-rotated-sorted-array/题目描述整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上进行了旋转,使数组变为[n......
  • 阶段三:项目开发---民航功能模块实现:任务16:动态航线图
    任务描述内 容: 前面任务实现了由SparkStreaming实时接收Kafka中的数据进行清洗,并存入到了MySQL中,有了飞机的实时经纬度坐标等数据,接下来,开发前台页面并接入百度地图模块,实现飞机的动态航线图功能。学 时:6学时知识点:动态航线图功能实现,ECharts、Vue和iView熟悉重点:熟......
  • systemverilog的关联数组
    关联数组定义在SystemVerilog中,关联数组(AssociativeArrays)是一种非常灵活的数据结构,它可以使用任意类型的键(key)来索引数组中的元素。这使得关联数组特别适合于实现类似哈希表(hashtables)或字典(dictionaries)的功能,其中键可以是字符串、数字或其他复杂类型。data_typearray......
  • java数组之线性查找、二分法查找
    一、线性查找        思想:如果想在一个数组中查找是否有某个元素,最容易想到的办法就是遍历数组,将数组中元素与想要查找的元素逐个对比,如果相等表示找到了,如果不等,则表示没找到。这就是线性查找的思想。案例说明定义数组:int[]arr1=newint[]{34,54,3,2,65,7,34,5,......
  • java数组的扩容与缩容
    一、java扩容缩容的说明    我们前面学过,创建java数组会在内存中开辟一块连续的空间,该空间固定不允许扩大和缩小。那么一个java数组要怎么实现扩容和缩容操作呢?    也许你会想到。再创建一个大容量的数组,将旧数组中的元素拷贝到新数组中,最后将新数组的地址值......
  • java数组之冒泡排序、快速排序
    一、排序算法概述1.算法定义排序:假设含有n个记录的序列为{R1,R2,...,Rn},其相应的关键字序列为{K1,K2,...,Kn}。将这些记录重新排序为{Ri1,Ri2,...,Rin},使得相应的关键字值满足条Ki1<=Ki2<=...<=Kin,这样的一种操作称为排序。通常来说,排序的目的是快速查找。2.衡量排序算......
  • 数据结构,(动态)顺序表,C语言实现
    ——如果代码存在问题,请务必评论告诉我,感激不尽(#^.^#)——动态和静态的顺序表差别主要在于开辟内存的方式,动态顺序表中的数据所在内存是通过malloc函数实现的,这也意味着,动态顺序表可以更改存储数据的内存大小,其他的话基本没什么差别1.数据类型定义 structElemType想要建......
  • 2024-07-13:用go语言,给定一个从0开始的长度为n的整数数组nums和一个从0开始的长度为m的
    2024-07-13:用go语言,给定一个从0开始的长度为n的整数数组nums和一个从0开始的长度为m的整数数组pattern,其中pattern数组仅包含整数-1、0和1。一个子数组nums[i..j]的大小为m+1,如果满足以下条件,则我们称该子数组与模式数组pattern匹配:1.若pattern[k]为1,则nums[i+k+1]>nums[i+k];......