deque-erase

////////////////////////////////////////
//      2018/04/23 19:12:29
//      deque-erase
#include <iostream>
#include <deque>
#include <iterator>
#include <algorithm>

using namespace std;

int main(){
    deque<int> d(10);
    deque<int>::iterator it;
    for (int i = 0; i < 10; i++){
        d[i] = i + 1;
    }
    copy(d.begin(),d.end(),ostream_iterator<int>(cout, " "));
    cout << endl;

    it = d.begin();
    //remove first element
    d.erase(it);
    copy(d.begin(), d.end(), ostream_iterator<int>(cout, " "));
    cout << endl;

    it = d.begin() + 2;
    // remove third element
    // 删除指向的元素
    d.erase(it);
    copy(d.begin(),d.end(),ostream_iterator<int>(cout, " "));
    cout << endl;

    it = d.begin();
    //remove 2 elements from beginning to d
    // 删除指定范围的元素 包前不包后 [it,it+n)
    d.erase(it, it + 2);
    copy(d.begin(), d.end(), ostream_iterator<int>(cout, " "));
    cout << endl;

    return 0;
}


/*
OUTPUT:
    1 2 3 4 5 6 7 8 9 10
    2 3 4 5 6 7 8 9 10
    2 3 5 6 7 8 9 10
    5 6 7 8 9 10
*/

猜你喜欢

转载自blog.csdn.net/qwq1503/article/details/80054967