c语言中的中pred函数作用,C++ partition()和stable_partition()函数详解
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()函数详解相关推荐
- python跨函数调用变量_对python中不同模块(函数、类、变量)的调用详解
首先,先介绍两种引入模块的方法. 法一:将整个文件引入 import 文件名 文件名.函数名( ) / 文件名.类名 通过这个方法可以运行另外一个文件里的函数 法二:只引入某个文件中一个类/函数/变量 ...
- python中search和match的区别_Python中正则表达式match()、search()函数及match()和search()的区别详解...
match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找 ...
- php self this static,PHP 中 self、static、$this 的区别和后期静态绑定详解
本篇文章给大家分享的内容是关于PHP 中 self.static.$this 的区别和后期静态绑定详解,有着一定的参考价值,有需要的朋友可以参考一下 self.static 和 $this 的区别 为 ...
- html注册验证radio,html中radio值的获取、赋值、注册事件示例详解分享
1,radio分组 只要name一样,就是一组的,即一组中只能选择一个,如下: 复制代码代码如下: group1: radio1 radio2 radio3 group2: radio4 radio5 ...
- Java中常见RuntimeException与其他异常表及Exception逻辑关系详解
Java中常见RuntimeException与其他异常表及Exception逻辑关系详解 前言 常见`RuntimeException` 其他错误类型 `Error`类 `Exception`类 E ...
- python使用视频_Python中操作各种多媒体,视频、音频到图片的代码详解
我们经常会遇到一些对于多媒体文件修改的操作,像是对视频文件的操作:视频剪辑.字幕编辑.分离音频.视频音频混流等.又比如对音频文件的操作:音频剪辑,音频格式转换.再比如我们最常用的图片文件,格式转换.各 ...
- 多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解
多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解 1. 概览 在开始具体讨论卡尔曼滤波和匈牙利算法之前,首先我们来看一下基于检测的目标跟踪算法的大 ...
- python播放视频代码_Python中操作各种多媒体,视频、音频到图片的代码详解
我们经常会遇到一些对于多媒体文件修改的操作,像是对视频文件的操作:视频剪辑.字幕编辑.分离音频.视频音频混流等.又比如对音频文件的操作:音频剪辑,音频格式转换.再比如我们最常用的图片文件,格式转换.各 ...
- java构造块_java中的静态代码块、构造代码块、构造方法详解
运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...
最新文章
- python【力扣LeetCode算法题库】1162- 地图分析(BFS)
- python大学生信息管理系统_python学生信息管理系统
- 美团点评基于 Flink 的实时数仓平台实践
- CodeForces - 1498E Two Houses(交互+图论,结论题)
- td过长,将固定宽度table撑开
- HTML5背景音乐的暂停与播放
- 学python有前途吗-Python全栈开发有前景吗,是否值得学习?
- tensorflow之softmax
- 左程云 Java 笔记--暴力递归--动态规划
- 批量保存微信收藏的表情包
- 从京东618秒杀聊聊秒杀限流的多种实现!
- 秸秆开启黑土地绿色低碳循环经济链 国稻种芯绿色沃土计划
- 谷歌无法加载pdf文档_如何从Google文档文档创建PDF
- C++ string大小写转换
- 基于用户组织角色权限和资源的五要素
- MUI开发大全(小程序前端框架)
- F - LIS on Tree【二分OR权值线段树】
- Eclipse将项目部署tomcat的webapps目录
- Shopilex开源网店系统
- poj 1264 || UVA 109 SCUD Busters