有求必应

导航

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区间的元素,无返回

 

posted on 2018-09-11 20:18  名侦探江户川  阅读(98)  评论(0编辑  收藏  举报