• cb44a_c++_STL_算法_删除_(2)remove_copy_remove_copy_if


    cb44a_c++_STL_算法_删除_(2)remove_copy_remove_copy_if

    remove_copy()//在复制过程中删除一些数据
    remove_copy_if()


    删除性算法:
    remove()
    remove_if()
    remove_copy()
    remove_copy_if()
    unique()
    unique_copy()

    error C2760: 语法错误: 意外的令牌“标识符”,预期的令牌为“;”
    vs2017打开项目工程----> 属性 ---> c/c++ --> 语言 --> 符合模式 修改成否即可

    error C2039: “push_back”: 不是“std::multiset<int,std::less<int>,std::allocator<_Ty>>”的成员


    error C3861: “inserter”: 找不到标识符,需要包含#include <iterator>

    error C2955: “std::ostream_iterator”: 使用 类 模板 需要 模板 参数列表
    少了<int> , std::stream_iterator<int>(cout," ");
    bind2nd(less<int>(),4));预定义函数适配器

     1 /*cb44a_c++_STL_算法_删除_(2)remove_copy_remove_copy_if
     2 
     3 remove_copy()//在复制过程中删除一些数据
     4 remove_copy_if()
     5 
     6 
     7 删除性算法:
     8 remove()
     9 remove_if()
    10 remove_copy()
    11 remove_copy_if()
    12 unique()
    13 unique_copy()
    14 
    15 error C2760: 语法错误: 意外的令牌“标识符”,预期的令牌为“;”
    16 vs2017打开项目工程----> 属性 ---> c/c++ --> 语言 --> 符合模式 修改成否即可
    17 
    18  error C2039: “push_back”: 不是“std::multiset<int,std::less<int>,std::allocator<_Ty>>”的成员
    19 
    20 
    21  error C3861: “inserter”: 找不到标识符,需要包含#include <iterator>
    22 
    23  error C2955: “std::ostream_iterator”: 使用 类 模板 需要 模板 参数列表
    24  少了<int> , std::stream_iterator<int>(cout," ");
    25  bind2nd(less<int>(),4));预定义函数适配器
    26 */
    27 #include <iostream>
    28 #include <algorithm>
    29 #include <vector>
    30 #include <list>
    31 #include <set>
    32 #include <functional>//使用到了less<int>(),预定义函数对象
    33 #include <iterator>
    34 
    35 using namespace std;
    36 template <typename TT1>
    37 void print(TT1 &ilist)
    38 {
    39     for (TT1::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)
    40         cout << *iter << ' ';
    41     cout << endl;
    42 }
    43 
    44 int main()
    45 {
    46     list<int> ilist;
    47     for (int i = 1; i <= 6; ++i)
    48         ilist.push_back(i);
    49     for (int i = 1; i <= 9; ++i)
    50         ilist.push_back(i);
    51     print(ilist);
    52 
    53     multiset<int> iset;
    54     cout << "把ilist里面小于4的数据放入multiset容器里面,其它数remove掉,删除掉" << endl;
    55     remove_copy_if(ilist.begin(),ilist.end(),inserter(iset,iset.end()),bind2nd(less<int>(),4));
    56 
    57     print(iset);
    58 
    59     cout << "用输出流迭代器输出,一边复制,一边删除3,最后输出到cout" << endl;
    60     remove_copy(ilist.begin(),ilist.end(),ostream_iterator<int>(cout," "),3);
    61 
    62     cout << "用输出流迭代器输出,一边复制,一边删除大于4的数,最后输出到cout" << endl;
    63     remove_copy_if(ilist.begin(), ilist.end(), ostream_iterator<int>(cout," "), bind2nd(greater<int>(), 4));
    64 
    65     return 0;
    66 }
    欢迎讨论,相互学习。 txwtech@163.com
  • 相关阅读:
    Command模式应用实践
    .Net中的设计模式——Strategy模式
    PetShop之ASP.NET缓存
    征求书名
    PetShop之业务逻辑层设计
    Buider模式应用实践
    公告:目前博客园书业出版小组的工作进度
    “AS3.0高级动画编程”学习:第二章转向行为(下)
    as3: this,stage,root的测试
    As3.0中的位图(Bitmap/BitmapData)编程
  • 原文地址:https://www.cnblogs.com/txwtech/p/12360894.html
Copyright © 2020-2023  润新知