zoukankan      html  css  js  c++  java
  • 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区间的元素,无返回

  • 相关阅读:
    安卓android.support.design使用中的问题
    处理requests SSl 证书问题
    python-excel
    post 请求包含相同参数
    关于zk 页面滚动问题 scroll
    Usefull Jquery
    Git 安装
    Comparison issues in TD
    Work Diary 12/13/17
    Unit10 I don't like work in the weekend
  • 原文地址:https://www.cnblogs.com/smh2015/p/9629990.html
Copyright © 2011-2022 走看看