zoukankan      html  css  js  c++  java
  • *** vector中的erase方法与algorithm中的remove有什么区别

    /*
        erase()删除指定元素,元素个数减1,即size--
        remove()同时删除所有指定值的元素,其它元素前移补位,但元素总个数不变(size不变)
    */
    
    #include <iostream>
    #include <algorithm>
    #include <vector>
    using namespace std;
    
    template<typename T>
    void print (vector<T> &x)
    {
        typename vector<T>::iterator it; //此处声明typename是为区别模板特例化,否则会编译错误
        for (it=x.begin(); it!=x.end(); it++)
        {
            cout << *it << " ";
        }
        cout << endl;
    }
    
    int main()
    {
        vector<int> v;
        v.push_back(1);
        v.push_back(2);
        v.push_back(3);
        v.push_back(4);
        v.push_back(4);
        v.push_back(5);
        v.push_back(7);
        v.push_back(6);
        
        v.erase(v.begin());
        print(v);
        
        vector<int>::iterator pos;
        pos = remove(v.begin(), v.end(), 4);
        print(v);
    
        
        return 0;
    }
  • 相关阅读:
    POJ 3417 Network
    指针动态开空间的板子
    fread()的板子
    luguo P1970 花匠
    Uva
    Uva
    Uva
    Uva
    Uva
    什么才算是真正的编程能力?
  • 原文地址:https://www.cnblogs.com/superrunner/p/10222879.html
Copyright © 2011-2022 走看看