一、vector
1、定义:动态数组,动态改变储存空间的大小,定义的数组可以没有界限
2、应用:
头文件#include
定义:vector <数据结构> 变量名;
如:vector v;
操作:
empty() – 表示vector是为空 (v.empty() )
size() – 返回vector内元素个数 (v.size() )
push_back(a) 将元素a插入最尾端(v.push_back)
pop_back() 将最尾端元素删除(v.push_back)
v[i] 类似数组取第i个位置的元素(v[0] )
erase(it)删除迭代器it指定位置的元素 (v.erase(it))
v.begin()+vector数组下标i,表示数组中第i个元素的位置,一般用迭代器it=v.begin()+i,表示第i个元素的位置
3、例子:
#include
#include
#include
using namespace std;
int main(){
vector a;
for (int i = 0; i < 5; ++i){
a.push_back(5 - i);
}
cout << "Size: " << a.size() << endl;
a.pop_back();
a[0] = 1;
cout << "Size: " << a.size() << endl;
for (int i = 0; i < (int)a.size(); ++i){
cout << a[i] << ", " << endl;
}
cout << endl;
return 0;
}
运行结果:
Size:5
Size:4
1,
4,
3,
2,
二、如何删除vector中的元素?
v. erase (iterator position);//删除指定元素
v. erase (iterator first, iterator last); //删除指定范围内的元素
for(it=iVec.begin();it!=iVec.end()?
{
if(*it % 3 ==0)
it=iVec.erase(it); //删除元素,返回值指向已删除元素的下一个位置
else
++it; //指向下一个位置
}