l构造方式:
1、无参构造 vector<int> v1 v1.push_back(i) (注入元素)
2、通过区间的方式构造 vector<int> v2(v1.begin(), v1.end()) (开始迭代器,结束迭代器)
3、n个elem方式构造 vector<int> v3(10, 100) (个数,元素)
4、拷贝构造 vector<int> v4(v3)
l赋值:
1、 orerator= vector<int>v2; v2 = v1;
2、 assign方式赋值 vector<int>v3; v3.assign(v1.begin(), v1.end());
3、 n个elem方式赋值 vector<int>v4; v4.assign(10, 100) (个数,元素)
l容量和大小(加入存放5个数容量大于5,大小等于5)
1、vector容器的容量是否为空: v1.empty()
2、vector容器的容量: v1.capacity()
3、vector容器的大小: v1.size()
4、vector容器重新指定大小:(1) v1.resize(X)(重新指定大小 ,若指定的更小,超出部分元素被删除)
(2)v1.resize(A, B);(A:表示新的大小,B:表示若A大于原大小,多的用B填充)
l容器的插入和删除:
1、v1.pop_back() (尾删,删除最后一个)
2、v1.erase(v1.begin()) (删除第一个)
3、v1.erase(v1.begin(), v1.end()); (清空)
4、v1.clear(); (清空)
5、v1.insert(v1.begin(), 100); (第一个插入100)
6、 v1.insert(v1.begin(), 2, 1000); (第一个插入2个100)
l元素获取:
1、v1[i]
2、v1.at(i) (i为索引)
3、v1.front() (v1的第一个元素)
4、v1.back() (v1的最后一个元素)
l容器互换:
1、v1.swap(v2); (作用:收缩内存;vector<int>(v).swap(v))
l预留空间:
1、v.reserve(100000); (作用:提前预留空间,免得在过程中重新分配容量)