IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> C++重学(5)——谓词、内建函数对象 -> 正文阅读

[数据结构与算法]C++重学(5)——谓词、内建函数对象

谓词、内建函数对象

谓词

概念:返回值为bool类型的仿函数

补充:仿函数就是对()进行重载的函数

用途:广泛应用于标准算法<algorithm.h>中,可以为标准算法增加筛选条件

分类:

  • 一元谓词:仿函数的参数数量为1

  • 二元谓词:仿函数的参数数量为2

  class Compare2 {
  public:
  	//二元谓词
  	bool operator()(int val, int val2) {
  		return val > val2;
  	}
  };
  
  void func3() {
  	vector<int> v;
  	//填充vector
  	v.push_back(5);
  	v.push_back(2);
  	v.push_back(6);
  	v.push_back(1);
  	//因为sort是排序算法,核心是两数对比,用二元谓词作为入参,让sort变成降序操作
  	sort(v.begin(), v.end(), Compare2());
  
  	for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
  		cout << *it << " ";
  	}
  	cout << endl;
  }

在这里插入图片描述

内建函数对象

概念:STL已经开发好的简单仿函数

头文件:#include <functional>

算数仿函数

除了取反仿函数是一元谓词,其他的都是二元谓词

算术仿函数作用
template<class T> T plus<T>加法仿函数
template<class T> T minus<T>减法仿函数
template<class T> T multiplies<T>乘法仿函数
template<class T> T divides<T>除法仿函数
template<class T> T modulus<T>取模仿函数
template<class T> T negate<T>取反仿函数

关系仿函数

关系仿函数作用
template<class T> bool equal_to<T>等于
template<class T> bool not_equal_to<T>不等于
template<class T> bool greater<T>大于
template<class T> bool greater_equal <T>大于等于
template<class T> bool less<T>小于
template<class T> bool less_equal <T>小于等于

逻辑仿函数

逻辑仿函数作用
template<class T> bool logical_and<T>
template<class T> bool logical_or<T>
template<class T> bool logical_not<T>
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-29 23:20:21  更:2022-01-29 23:22:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:23:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码