顺便存一下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函数差不多,分组之后只是顺序并没有被打乱。

 #include<bits/stdc++.h>
using namespace std;
# define ll long long
# define inf 0x3f3f3f3f
const int maxn = 2e5+;
int a[maxn];
vector<int>q;
bool odd(int t){
return t%==;
}
int main()
{
for(int i=; i<=; i++)
{
q.push_back(i);
}
auto div=partition(q.begin(),q.end(),odd);
// for(auto i=q.begin();i!=div;i++){
// cout<<" "<<*i;
// }
// cout<<endl;
for_each(q.begin(),div,[](auto i){cout<<" "<<i;});
cout<<endl;
for_each(div,q.end(),[](auto i){cout<<" "<<i;});
cout<<endl;
return ;
}

is_partitioned 函数

 #include<bits/stdc++.h>
using namespace std;
# define ll long long
# define inf 0x3f3f3f3f
const int maxn = 2e5+;
int a[maxn];
vector<int>q;
bool odd(int t){
return t%==;
}
int main()
{
for(int i=; i<=; i++)
{
q.push_back(i);
} cout<<is_partitioned(q.begin(),q.end(),odd)<<endl;// 0
auto div=partition(q.begin(),q.end(),odd);
cout<<is_partitioned(q.begin(),q.end(),odd)<<endl;// 1
return ;
}

stable_partitioned 函数

 #include<bits/stdc++.h>
using namespace std;
# define ll long long
# define inf 0x3f3f3f3f
const int maxn = 2e5+;
int a[maxn];
vector<int>q;
bool odd(int t){
return t%==;
}
int main()
{
for(int i=; i<=; i++)
{
q.push_back(i);
}
auto div=stable_partition(q.begin(),q.end(),odd);
for_each(q.begin(),div,[](auto i ){cout<<i<<" ";});
cout<<endl;
for_each(div,q.end(),[](auto i){cout<<i<<" ";});
return ;
}

STL之partition学习的更多相关文章

  1. stl源码学习(版本2.91)--list

    stl源码学习(版本2.91)--list 一,阅读list()构造函数的收获 1,默认构造函数的作用和被调用的时机 struct no{ no(int i){} //no(){ // std::co ...

  2. C++STL标准库学习笔记(三)multiset

    C++STL标准库学习笔记(三)multiset STL中的平衡二叉树数据结构 前言: 在这个笔记中,我把大多数代码都加了注释,我的一些想法和注解用蓝色字体标记了出来,重点和需要关注的地方用红色字体标 ...

  3. 【STL源码学习】STL算法学习之三

    第一章:前言 数量不多,用到的时候会很爽. 第二章:明细 STL算法中的又一个分类:分割:将已有元素按照既定规则分割成两部分.  is_partitioned 函数原型: template <c ...

  4. STL源码学习----lower_bound和upper_bound算法

    转自:http://www.cnblogs.com/cobbliu/archive/2012/05/21/2512249.html 先贴一下自己的二分代码: #include <cstdio&g ...

  5. STL源码学习----lower_bound和upper_bound算法[转]

    STL中的每个算法都非常精妙,接下来的几天我想集中学习一下STL中的算法. ForwardIter lower_bound(ForwardIter first, ForwardIter last,co ...

  6. 【STL源码学习】STL算法学习之二

    第一章:前言 学习笔记,记录学习STL算法的一些个人所得,在以后想用的时候可以快速拾起. 第二章:明细 copy 函数原型: template <class InputIterator, cla ...

  7. 【STL源码学习】STL算法学习之一

    第一章:引子 STL包含的算法头文件有三个:<algorithm><numeric><functional>,其中最大最常用的是<algorithm>, ...

  8. 【STL源码学习】细品vector

    第一节:vector简介 vector是一种典型的类模板,使用的时候必须进行实例化. vector的数据存储在数组上,支持随机访问迭代器,支持下标操作[]和at操作,支持手动扩容和自动容量增长. ve ...

  9. STL的pair学习, map学习

    http://blog.csdn.net/calvin_zcx/article/details/6072286 http://www.linuxidc.com/Linux/2014-10/107621 ...

随机推荐

  1. struts2 数据转换器

    四.数据类型的转换(明白原理,实际开发中几乎不用) 1.开发中的情况: 实际开发中用户通过浏览器输入的数据都是String或者String[]. String/String[]————填充模型(set ...

  2. layer.open窗口自适应问题

    宽高度 area : ['100%', '100%']同时取消layer.full(index)就能自适应

  3. gradle 的jar下载到哪里了

    很好奇 gradle 的jar下载到哪里了,好顿翻,原来在C:\Users\(你的用户名)\.gradle\caches\modules-2\files-2.1目录下,使用gradle引用lib会先查 ...

  4. ubuntu ------ 网络 ifconfig 不显示IP地址

    确保4个服务是启动着的

  5. C#梳理【集合Collection】

    C# 集合(Collection) 集合(Collection)类是专门用于数据存储和检索的类.这些类提供了对栈(stack).队列(queue).列表(list)和哈希表(hash table)的支 ...

  6. qml: 自定义输入框

    import QtQuick 2.7 Rectangle { width:; height:; border.width:; border.color: "#E7E7E7" rad ...

  7. 剑指Offer_编程题_8

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. class Solution { public: int jumpFloor(int number ...

  8. 利用jieba,word2vec,LR进行搜狐新闻文本分类

    一.简介 1)jieba 中文叫做结巴,是一款中文分词工具,https://github.com/fxsjy/jieba 2)word2vec 单词向量化工具,https://radimrehurek ...

  9. nGrinder TestRunner http post json

    s nGrinder学习笔记 — post请求 https://blog.csdn.net/meyoung01/article/details/50435881 import HTTPClient.H ...

  10. SQL Server没有足够的内存继续执行程序

    有一个表的数据特别大,我点击生成脚本的时候,喜欢新建窗口,但是不行,数据量太大了,所以选择保存文件,保存到本地了.然后我点击执行,又报没有内存去执行...还是因为数据量太大了 解决办法,使用sqlcm ...