1.vector容器的构造
默认构造 vector<T> v1;
通过区间构造 vector<T> v2 (v1.begin(),v1.end());
n个元素构造 vector<T> v3(n,ele);
拷贝构造 vector<T> v4(v3);
这里T代表类型
vector<int>v1;
vector<int>v2(v1.begin(),v1.end()); //将v1中begin到end区间的值拷贝至v2
vector<int>v3(5,6); //向v3容器中存入5个6
vector<int>v4(v1); //直接v1拷贝到v4中
2.赋值操作
v2.assign(v1.begin(),v1.end()); 将v1容器中的元素装到v2容器中
v2.assign(n,ele); 将n个ele元素装入v2容器中
3.插入和删除
push_back(); 尾部插入元素
pop_back(); 尾部删除元素
insert(const_iterator pos ,ele); 迭代器指向位置pos插入元素ele
insert(const_iterator pos , n, ele); 迭代器指向位置pos插入n个ele元素
clear(); 清除vector容器中的所有元素
vector<int>v;
v.push_back(4); //向容器尾部插入4
v.pop_back(); //删除容器尾部的值
v.insert(v.begin()+2,3); //向容器第三个位置插入3
v.insert(v.begin()+2,4,3); //向容器第三个位置插入4个3
v.clear(); //清空容器
4.大小和容量
empty(); 判断容器是否为空
capacity(); 容器容量
size(); 返回元素个数
resize(int num); 重新指定容器的长度为num,如果容器变长了,则以默认值(0)填充新的位置,如果容器变短了,则原容器超出的部分被删除。
resize(int num ,ele) ; 重新指定容器的长度为num,如果容器变长了,则以(ele)填充新的位置,如果容器变短了,则原容器超出的部分被删除。
vector<T>v;
v.empty();
v.capacity();
v.size();
v.resize(n);
v.resize(n,m);
5.互换容器
v1.swap(v2); 互换容器
#include<iostream>
#include<vector>
using namespace std;
void print(vector<int>v)
{
for (auto m : v)
{
cout << m << " ";
}
cout << endl;
}
int main()
{
vector<int>v1;
vector<int>v2;
for (int i = 0; i < 10; i++)
{
v1.push_back(i);
}
for (int i = 9; i >= 0; i--)
{
v2.push_back(i);
}
cout << "交换前!" << endl;
print(v1);
print(v2);
v1.swap(v2);
cout << "交换后!" << endl;
print(v1);
print(v2);
system("pause");
return 0;
}
6.数据存取
at(int idx); 返回索引idx所指的数据
operator[] 返回索引所指的数据 v1[2];
front(); 返回容器第一个元素
back(); 返回容器最后一个元素
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>v;
for (int i = 0; i < 10; i++)
{
v.push_back(i);
}
cout << v.at(5) << endl;
cout << v[4] << endl;
cout << v.front() << endl;
cout << v.back() << endl;
system("pause");
return 0;
}
7.预留空间
reserve(); 预留空间