zoukankan      html  css  js  c++  java
  • STL之partition学习

    顺便存一下numeric函数的使用方法吧,感觉用处不大。

    https://blog.csdn.net/baishuo8/article/details/84073565

    partition函数,将元素划分为两个集合,顺序被打乱,只是分类。

    包括三个参数,第一个参数代表开始位置,第二个参数代表截止位置,第三个参数代表根据什么分类。

    is_partitioned 函数,判断元素是否按照给定的函数分组的,{F F F T T },{T T T T F },{TTTFF},{TTTT},{FFF}都是正确的分组。{FFTFF}是错误的分组

    stable_partition函数,和partition函数差不多,分组之后只是顺序并没有被打乱。

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 # define ll long long
     4 # define inf 0x3f3f3f3f
     5 const int maxn = 2e5+100;
     6 int a[maxn];
     7 vector<int>q;
     8 bool odd(int t){
     9 return t%2==1;
    10 }
    11 int main()
    12 {
    13     for(int i=1; i<=10; i++)
    14     {
    15         q.push_back(i);
    16     }
    17     auto div=partition(q.begin(),q.end(),odd);
    18 //    for(auto i=q.begin();i!=div;i++){
    19 //    cout<<" "<<*i;
    20 //    }
    21 //    cout<<endl;
    22     for_each(q.begin(),div,[](auto i){cout<<" "<<i;});
    23     cout<<endl;
    24     for_each(div,q.end(),[](auto i){cout<<" "<<i;});
    25     cout<<endl;
    26 return 0;
    27 }

    is_partitioned 函数

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 # define ll long long
     4 # define inf 0x3f3f3f3f
     5 const int maxn = 2e5+100;
     6 int a[maxn];
     7 vector<int>q;
     8 bool odd(int t){
     9 return t%2==1;
    10 }
    11 int main()
    12 {
    13     for(int i=1; i<=10; i++)
    14     {
    15         q.push_back(i);
    16     }
    17 
    18     cout<<is_partitioned(q.begin(),q.end(),odd)<<endl;//   0
    19        auto div=partition(q.begin(),q.end(),odd);
    20     cout<<is_partitioned(q.begin(),q.end(),odd)<<endl;//  1
    21 return 0;
    22 }

    stable_partitioned 函数

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 # define ll long long
     4 # define inf 0x3f3f3f3f
     5 const int maxn = 2e5+100;
     6 int a[maxn];
     7 vector<int>q;
     8 bool odd(int t){
     9 return t%2==1;
    10 }
    11 int main()
    12 {
    13     for(int i=1; i<=10; i++)
    14     {
    15         q.push_back(i);
    16     }
    17        auto div=stable_partition(q.begin(),q.end(),odd);
    18        for_each(q.begin(),div,[](auto i ){cout<<i<<" ";});
    19        cout<<endl;
    20        for_each(div,q.end(),[](auto i){cout<<i<<" ";});
    21 return 0;
    22 }
  • 相关阅读:
    XHR 学习整理
    IT职业规划与行业分析(转)
    hibernate的native sql查询(转)
    关于html selection 的经典示例
    html Selection
    javaWeb网购系统
    随笔,java我差很多
    系统架构:Web应用架构的新趋势---前端和后端分离的一点想法(转)
    oracle11g 重装操作系统后,如何利用原有oracle表空间文件还原数据库
    myeclipse maven 安装
  • 原文地址:https://www.cnblogs.com/letlifestop/p/10678764.html
Copyright © 2011-2022 走看看