#include <iostream>#include<vector>#include<array>usingnamespacestd;intmain() { std::vector<int> demo{1,2};//第一种格式用法demo.insert(demo.begin() +1,3);//{1,3,2}//第二种格式用法demo.insert(demo.end(),2,5);//{1,3,2,5,5}//第三种格式用法std::array<int,3>test{7,8,9...
for (vector<int>::size_type ix1 = 0; ix1 != v1.size(); ix1 ++){ printf("%d\t", v1[ix1]); } printf("\n"); printf("third: "); for (vector<int>::size_type ix2 = 0; ix2 != v2.size(); ix2 ++){ printf("%d\t", v2[ix2]); } printf("\n"); printf("fort...
1. vector<vector<int>> vec(行数, vector<int>(列数)); 2. vector<vector<int>> vec(行数, vector<int>(列数, 初始值)); 3. vector<vector<int>> vec; vec.resize(行数); vec[i].resize(列数); vec[i] = {值}; 一维长度固定,二维长度可变的二维容器数组 vector<int> v[n] n 为第一...
vector是C++中一个的容器类,它用于存放类型相同的元素,利用成员函数及相关函数可以方便的对元素进行增加或删除,排序或逆序等等。一个 vector 的容量(capacity)永远大于或等于其大小(size),一旦容量等于大小,便是满载,下次再有新增元素,整个 vector 容器就得重新申请一块更大的连续容量空间(一般是两倍原来容量大小)来...
std::vector是stl中的动态数组,支持动态扩容,stl是如何进行动态扩容的呢?了解其动态扩容过程有什么用? 一、探究std::vetor动态扩容过程 我们通过下面这段代码来了解一下std::vector的动态扩容过程。 #include<iostream>#include<vector>intmain(){std::vector<int>vec;intcapacity=-1;std::cout<<"size: "<<...
1. stl vector基本概念 stl vector是一个动态数组,其内部实现采用连续的内存空间存储元素。vector中的每个元素都可以通过下标进行访问,且vector支持快速的随机访问。vector还支持在尾部添加/删除元素,并可以动态扩展/缩小内部空间以适应元素数量的变化。2. stl vector初始化 在使用stl vector之前,需要先进行初始化。
Vector可以翻译为向量,或向量数组,至于为什么以向量命名,可以理解为一维空间也是存在向量的。 Vector是最简单的序列是容器,就像数组一样,向量使用连续的存储位置作为元素,这意味着它们的元素也可以使用常量指向其元素的偏移来访问,与数组一样有效。但与数组不同,它们的大小可以动态变化,其存储由容器自动处理。
voidpr_str_vector(vector<string>vec) { for(auto&v:vec) { cout<<v<<" "; } cout<<endl; } intmain() { vector<int>a; vector<int>b(a); vector<int>c(10,23); vector<string>s1(10,"null"); vector<string>s2(10); vector<string>s3={10,"hi!"};// 重点关注 ...
在拼接vector之前,可以先使用reserve函数预分配足够的内存空间,以避免在拼接过程中发生内存重新分配。 示例代码 #include<iostream>#include<vector> intmain(){std::vector<int>vec1={1,2,3};std::vector<int>vec2={4,5,6}; // 预分配足够的内存空间vec1.reserve(vec1.size()+vec2.size()); ...
vector<char> v(2,'A'); v.push_back('B');//在尾部加入一个数据 cout<<v[0]<<" "<<v[1]<<' '<<v[2]<<endl;//A A B v.pop_back();//删除最后一个数据 v.insert(v.begin()+1,'C');//在第二个位置上插入了'C' v.insert(v.begin(),2,'D'); //在第一个第二个位置上分...