remove2.cpp

来自「stl自带源码」· C++ 代码 · 共 53 行

CPP
53
字号
/* The following code example is taken from the book * "The C++ Standard Library - A Tutorial and Reference" * by Nicolai M. Josuttis, Addison-Wesley, 1999 * * (C) Copyright Nicolai M. Josuttis 1999. * Permission to copy, use, modify, sell and distribute this software * is granted provided this copyright notice appears in all copies. * This software is provided "as is" without express or implied * warranty, and with no claim as to its suitability for any purpose. */#include <iostream>#include <list>#include <algorithm>using namespace std;int main(){    list<int> coll;    // insert elements from 6 to 1 and 1 to 6    for (int i=1; i<=6; ++i) {        coll.push_front(i);        coll.push_back(i);    }    // print all elements of the collection    copy (coll.begin(), coll.end(),          ostream_iterator<int>(cout," "));    cout << endl;    // remove all elements with value 3    // - retain new end    list<int>::iterator end = remove (coll.begin(), coll.end(),                                      3);    // print resulting elements of the collection    copy (coll.begin(), end,          ostream_iterator<int>(cout," "));    cout << endl;    // print number of resulting elements    cout << "number of removed elements: "         << distance(end,coll.end()) << endl;    // remove ``removed'' elements    coll.erase (end, coll.end());    // print all elements of the modified collection    copy (coll.begin(), coll.end(),          ostream_iterator<int>(cout," "));    cout << endl;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?