partition 可直译为“分组”,partition() 函数可根据用户自定义的筛选规则,重新排列指定区域内存储的数据,使其分为 2 组,第一组为符合筛选条件的数据,另一组为不符合筛选条件的数据。

举个例子,假设有一个数组 a[9],其存储数据如下:

1 2 3 4 5 6 7 8 9

在此基础上,如果设定筛选规则为 i%2=0(其中 i 即代指数组 a 中的各个元素),则借助 partition() 函数,a[9] 数组中存储数据的顺序可能变为:

1 9 3 7 5 6 4 8 2

其中 {1,9,3,7,5} 为第一组,{6,4,8,2} 为第二组。显然前者中的各个元素都符合筛选条件,而后者则都不符合。由此还可看出,partition() 函数只会根据筛选条件将数据进行分组,并不关心分组后各个元素具体的存储位置。

如果想在分组之后仍不改变各元素之间的相对位置,可以选用 stable_partition() 函数。有关此函数的功能和用法,本节后续会做详细讲解。

值得一提得是,partition() 函数定义于头文件中,因此在使用该函数之前,程序中应先引入此头文件:

#include

如下为 partition() 函数的语法格式:

ForwardIterator partition (ForwardIterator first,

ForwardIterator last,

UnaryPredicate pred);

其中,first 和 last 都为正向迭代器,其组合 [first, last) 用于指定该

c语言中的中pred函数作用,C++ partition()和stable_partition()函数详解相关推荐

  1. python跨函数调用变量_对python中不同模块(函数、类、变量)的调用详解

    首先,先介绍两种引入模块的方法. 法一:将整个文件引入 import 文件名 文件名.函数名( ) / 文件名.类名 通过这个方法可以运行另外一个文件里的函数 法二:只引入某个文件中一个类/函数/变量 ...

  2. python中search和match的区别_Python中正则表达式match()、search()函数及match()和search()的区别详解...

    match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找 ...

  3. php self this static,PHP 中 self、static、$this 的区别和后期静态绑定详解

    本篇文章给大家分享的内容是关于PHP 中 self.static.$this 的区别和后期静态绑定详解,有着一定的参考价值,有需要的朋友可以参考一下 self.static 和 $this 的区别 为 ...

  4. html注册验证radio,html中radio值的获取、赋值、注册事件示例详解分享

    1,radio分组 只要name一样,就是一组的,即一组中只能选择一个,如下: 复制代码代码如下: group1: radio1 radio2 radio3 group2: radio4 radio5 ...

  5. Java中常见RuntimeException与其他异常表及Exception逻辑关系详解

    Java中常见RuntimeException与其他异常表及Exception逻辑关系详解 前言 常见`RuntimeException` 其他错误类型 `Error`类 `Exception`类 E ...

  6. python使用视频_Python中操作各种多媒体,视频、音频到图片的代码详解

    我们经常会遇到一些对于多媒体文件修改的操作,像是对视频文件的操作:视频剪辑.字幕编辑.分离音频.视频音频混流等.又比如对音频文件的操作:音频剪辑,音频格式转换.再比如我们最常用的图片文件,格式转换.各 ...

  7. 多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解

    多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解 1. 概览 在开始具体讨论卡尔曼滤波和匈牙利算法之前,首先我们来看一下基于检测的目标跟踪算法的大 ...

  8. python播放视频代码_Python中操作各种多媒体,视频、音频到图片的代码详解

    我们经常会遇到一些对于多媒体文件修改的操作,像是对视频文件的操作:视频剪辑.字幕编辑.分离音频.视频音频混流等.又比如对音频文件的操作:音频剪辑,音频格式转换.再比如我们最常用的图片文件,格式转换.各 ...

  9. java构造块_java中的静态代码块、构造代码块、构造方法详解

    运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...

最新文章

  1. python【力扣LeetCode算法题库】1162- 地图分析(BFS)
  2. python大学生信息管理系统_python学生信息管理系统
  3. 美团点评基于 Flink 的实时数仓平台实践
  4. CodeForces - 1498E Two Houses(交互+图论,结论题)
  5. td过长,将固定宽度table撑开
  6. HTML5背景音乐的暂停与播放
  7. 学python有前途吗-Python全栈开发有前景吗,是否值得学习?
  8. tensorflow之softmax
  9. 左程云 Java 笔记--暴力递归--动态规划
  10. 批量保存微信收藏的表情包
  11. 从京东618秒杀聊聊秒杀限流的多种实现!
  12. 秸秆开启黑土地绿色低碳循环经济链 国稻种芯绿色沃土计划
  13. 谷歌无法加载pdf文档_如何从Google文档文档创建PDF
  14. C++ string大小写转换
  15. 基于用户组织角色权限和资源的五要素
  16. MUI开发大全(小程序前端框架)
  17. F - LIS on Tree【二分OR权值线段树】
  18. Eclipse将项目部署tomcat的webapps目录
  19. Shopilex开源网店系统
  20. poj 1264 || UVA 109 SCUD Busters

热门文章

  1. 不懂就问,刚用vs2019运行一个c++为什么会这样啊
  2. php开源广告系统,广告操作指南
  3. 中国少数民族古籍数字化平台研究进展
  4. 最新动脑学院java课程分享
  5. hnuoj10016
  6. 期货交易软件哪个好?为什么选择期货MT4平台软件?
  7. 2023真无线蓝牙耳机哪个品牌好?蓝牙耳机怎么选?高性价比蓝牙耳机推荐指南!
  8. Oracle 12.2新特性掌上手册 - 第一卷 Availability
  9. 怎么连接PI数据库连接
  10. 电子科大信软互+班 程算I 2020机考真题