zoukankan      html  css  js  c++  java
  • vector::erase

    转自http://www.cnblogs.com/xkfz007/archive/2012/08/17/2644061.html

    erase的返回值是一个迭代器,而这个迭代器就是指向删除之前元素后的第一个元素

    erase把要删除的指针指向了指针的下一个位置

    remove,这个函数可以将迭代器范围内的等于某个值的元素“删除“

    这里的删除是不改变容器的大小,只是将一些不满足条件的元素前移

    这样的话保留的元素都移到了容器的前面,而remove正好就指向要删除的第一个元素,而后面的就是要删除的

    然后执行erase操作

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 const int maxn=100010;
     4 vector<int> v;
     5 int x;
     6 int main(){
     7     puts("测试1:------");
     8     v.clear();
     9     v.push_back(2);
    10     v.push_back(5);
    11     v.push_back(5);
    12     v.push_back(5);
    13     v.push_back(5);
    14     v.push_back(9);
    15    // v.push_back(5);
    16     x=5;
    17     vector<int> ::iterator it;
    18     for(it=v.begin();it!=v.end();it++) if(*it==x) v.erase(it);
    19     for(it=v.begin();it!=v.end();it++) cout<<*it<<endl;
    20 
    21     puts("测试2:------");
    22     v.clear();
    23     v.push_back(2);
    24     v.push_back(5);
    25     v.push_back(5);
    26     v.push_back(5);
    27     v.push_back(5);
    28     v.push_back(9);
    29     v.push_back(5);
    30     x=5;
    31     for(it=v.begin();it!=v.end();) {
    32         if(*it==x) v.erase(it);
    33         else it++;
    34     }
    35     for(it=v.begin();it!=v.end();it++) cout<<*it<<endl;
    36 
    37     puts("测试3:------");
    38      v.clear();
    39     v.push_back(2);
    40     v.push_back(5);
    41     v.push_back(5);
    42     v.push_back(5);
    43     v.push_back(5);
    44     v.push_back(9);
    45     v.push_back(5);
    46     x=5;
    47     v.erase(remove(v.begin(),v.end(),x),v.end());
    48     for(it=v.begin();it!=v.end();it++) cout<<*it<<endl;
    49 }
    View Code
  • 相关阅读:
    笨笨的洪水堵截
    青蛙的约会
    扩展欧几里德
    windows上修改路由表
    怎样编写注册表文件
    win7启动文件修复
    word文档中的字号和磅的对应关系
    将Windows 7导航窗格中的收藏夹、库、家庭组、网络全部去掉
    DNS
    UTF-8 GBK GB2312 之间的区别和关系
  • 原文地址:https://www.cnblogs.com/yijiull/p/7420803.html
Copyright © 2011-2022 走看看