C++STL vector
vector
尾部添加或移除元素快,在中部或头部插入或移除元素比较费时。
vector<CA> v;//CA必须保证能够被拷贝
vector<int> v1;
v1.pushback(1);//尾部插入元素
int a = v1.back();//获取尾部元素
v1.pop_back()//删除尾部元素
v1.size();//查看v1大小
v1.front();//获取头部元素
vector<int> v2(3,9);//v2存放3个元素,每个元素都是9
vector遍历
1.可以通过数组方式遍历,需要提前把内存准备好
2.v1.ai()
3.通过iterator遍历
vector删除操作
1.区间删除
v1.erase(v1.begin(),v1.begin()+3);//删除v1.begin(),v1.begin()+3区间的数据,返回下一个数据的位置
2.删除所有数据
v1.clear();//移除容器内所有的元素
3.根据元素位置指定一个位置删除
v1.erase(pos);//删除pos位置的数据,返回下一个数据的位置
4.根据元素值删除
for(vector<int>::iterator it = v1.begin();it!=v1.end();) { if(*it == 2) { it = v1.erase(it); //当删除迭代器所指向的元素时,erase会让it自动下移 } else { it++; } }
插入
v1.insert(pos,elem);//在pos位置插入一个elem元素的拷贝,返回新数据的位置
v1.insert(pos,n,elem);//在pos位置插入n个elem元素,无返回
v1.insert(pos,beg,end);//在pos位置插入beg,end区间的元素,无返回