1.vector的作用
“动态数组”
2.vector的定义
常用: vector<储存类型> 容器名
vector<int> v;
//一维数组
vector<int> v[N];
//二维数组
其他:
vector<int>nums;//创建一个空vector
vector<int>nums(10,0);//创建10个元素的vector,并初始化为0
vector<int>v4(v3);//复制构造函数
vector<int>v2(v1.begin(),v1.end());//复制[begin,end)区间内另一个数组的元素到vector中
3.vector常用的成员函数
size()
返回容器中元素个数
begin()
返回头部迭代器
end()
返回尾部+1的迭代器
rbegin()
返回逆首部迭代器
rend()
返回逆尾部-1迭代器
front()
返回首个元素
back()
返回尾部元素
push_back()
在末尾添加一个元素
emplace_back()
同上
pop_back()
删除最后一个元素
empty()
判断是否为空
insert()
在指定位置插入元素
erase()
在指定位置删除元素
clear()
清空容器
关于排序
reverse(v.begin(),v.end())
倒置
sort(v.begin() , v.end())
排序(由小到大)
sort(v.rbegin() , v.rend())
逆序排序(由大到小)
关于增加:
v1.push_back(9);//向向量尾部增加一个元素整数9
iterator it =v1.begin()+3;//定义it迭代器,it指向v1第4个元素
v1.insert(it,9);//在迭代器it前增加1个数9
iterator it =v1.begin()+3;//定义it迭代器,it指向v1第4个元素
v1.insert(it,2,9);//在迭代器it前增加2个数9
iterator it =v1.begin()+3;//定义it迭代器,it指向v1第4个元素
v1.insert(it,2,v2.begin(),v2.end());//在迭代器it前增加v2整个数据
关于删除:
iterator it=v1.begin()+3;//定义it迭代器,it指向v1第4个元素
v1.erase(it+1);//删除it后面的元素
iterator it=v1.begin();//定义it迭代器,it指向v1第1个元素
v1.erase(it,it+3);//删除v1前3个元素
4.vector的三种遍历方法
- 1 迭代器iterator
vector<int>::iterator it;//使用迭代器
for(it = v.begin() ; it != v.end() ; i ++){
cout << *it << " ";
}
- 2 下标遍历
for(int i = 0 ; i < v.size() ; i ++)
cout << v[i] << " ";
- 3 foreach遍历
不支持逆输出
for(int c : v)
cout << c << " ";