动态数组

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));
}
posted @ 2024-07-14 13:39  Wzline  阅读(1)  评论(0编辑  收藏  举报