Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >二元谓词

二元谓词

作者头像
大忽悠爱学习
发布于 2021-03-02 07:12:36
发布于 2021-03-02 07:12:36
77900
代码可运行
举报
文章被收录于专栏:c++与qt学习c++与qt学习
运行总次数:0
代码可运行

二元谓词— 谓词–>bool 二元----仿函数里面的参数个数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
//二元谓词---  谓词-->bool    二元----仿函数里面的参数个数
class   compare {
public:
	bool operator()(int v1,int v2)
	{
		return v1 > v2;
	}
};
void test()
{
	//vector的排序也时sort排序算法
	vector<int> v = { 2,1,5,3,8,7 };
    sort(v.begin(), v.end());
	for (int i = 0; i < v.size(); i++)
	{
		cout << v[i] << " ";
	}
	cout << "\n自定义排序--------------------" << endl;
	//自定义排序
	//匿名函数对象
	sort(v.begin(), v.end(), compare());
	for (int i = 0; i < v.size(); i++)
	{
		cout << v[i] << " ";
	}
}
int main()
{
	test();
	system("pause");
	return 0;
}

注意:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
map<int, person,compare> m;
sort(v.begin(), v.end(), compare());

map是函数模板,传入的是类型,而在这里是函数,参数必须是对象

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C++提高编程笔记合集
建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。
CtrlX
2022/10/27
9330
C++提高编程笔记合集
STL学习笔记(13)谓词
谓词是指普通函数或重载的 operator()返回值是 bool 类型的函数对象(仿函数)。如果 operator 接受一个参数,那么叫做一元谓词,如果接受两个参数,那么叫做二元谓词,谓词可作为一个判断式。
轻舞飞扬SR
2021/07/08
2540
c++函数对象之谓词
概念: 返回bool类型的仿函数被称为谓词; 如果operator()接受一个参数,那么就叫一元谓词; 如果operator()接受两个参数,那么就叫二元谓词; 一、一元谓词 #include<iostream> using namespace std; #include <vector> #include <algorithm> //仿函数 返回值类型是bool数据类型,称为谓词 //一元谓词 class GreaterFive { public: bool operator()(int va
西西嘛呦
2020/08/27
4860
关系仿函数
function: 实现关系对比 仿函数原型: #include<iostream> using namespace std; #include<functional> #include<ve
大忽悠爱学习
2021/03/02
4230
关系仿函数
【C++】STL 算法 ⑥ ( 二元谓词 | std::sort 算法简介 | 为 std::sort 算法设置 二元谓词 排序规则 )
" 谓词 ( Predicate ) " 是一个 返回 布尔 bool 类型值 的 函数对象 / 仿函数 或 Lambda 表达式 / 普通函数 , 可用于对某个条件进行检查 ;
韩曙亮
2024/01/08
2760
【C++】STL 算法 ⑥ ( 二元谓词 | std::sort 算法简介 | 为 std::sort 算法设置 二元谓词 排序规则 )
c++STL之內建函数对象
STL内建了一些函数对象:算数仿函数、关系仿函数、逻辑仿函数 用法: 这些仿函数所产生的对象,用法和一般函数完全相同; 使用內建函数对象,需要引入头文件#<include><functional> 一、算数仿函数 #include<iostream> using namespace std; #include <functional> //内建函数对象头文件 //内建函数对象 算术仿函数 //negate 一元仿函数 取反仿函数 void test01() { negate<int>n;
西西嘛呦
2020/08/26
3410
C++ stl_stl函数
长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出”可重复运用的东西”的方法,从函数(functions),类别(classes),函数库(function libraries),类别库(class libraries)、各种组件,从模块化设计,到面向对象(object oriented ),为的就是复用性的提升。
全栈程序员站长
2022/09/27
2.5K0
algorithm中的排序算法详解
雨下不停,爱意难眠,说一下algorithm中的几个排序算法吧,干什么总要排个序吧,有单纯排序的算法题可以看一下,我写的码神说排序算法不多说了,来看吧,系好安全带,发车了!
秋名山码神
2022/12/13
2660
STL-常用算法总结
transform(iterator beg1, iterator end1, iterator beg2, _func);//搬运容器
WuShF
2023/02/11
5910
STL-常用算法总结
STL之涉及到的算法
是一组不破坏操作数据的模板函数,用来对序列数据进行逐个处理、元素查找、子序列搜索、统计和匹配。非变异算法具有极为广泛的适用性,基本上可应用与各种容器。
全栈程序员站长
2022/07/13
2710
STL学习笔记(14)内建函数对象
STL 内建了一些函数对象。分为:算数类函数对象,关系运算类函数对象,逻辑运算类仿函数。这些仿函数所产生的 对象,用法和一般函数完全相同,当然我们还可以产生无名的临时对象来履行函数功能。使用内建函数对象,需 要引入头文件 #include。
轻舞飞扬SR
2021/07/08
3860
C++之STL标准模板库——从入门到精通
通俗说:STL是Standard Template Library(标准模板库),是高效的C++程序库,其采用泛型编程思想对常见数据结构(顺序表,链表,栈和队列,堆,二叉树,哈希)和算法(查找、排序、集合、数值运算…)等进行封装,里面处处体现着泛型编程程序设计思想以及设计模式,已被集成到C++标准程序库中。 具体说:STL中包含了容器、适配器、算法、迭代器、仿函数以及空间配置器。 STL设计理念:追求代码高复用性以及运行速度的高效率,在实现时使用了许多技术。
海盗船长
2020/08/27
1K0
STL算法(for_each/transform)
用于逐个遍历容器元素,它对迭代器区间[first,last)所指的每一个元素,执行由单参数函数对象f所定义的操作。方法返回函数对象。
用户2929716
2018/08/23
3270
STL算法(for_each/transform)
【c++】标准模板库STL入门简介与常见用法
STL(Standard Template Library)标准模板库,主要由容器、迭代器、算法、函数对象、内存分配器和适配器六大部分组成。STL已是标准C++的一部分,使用STL开发系统可以提高开发效率。
马三小伙儿
2018/09/12
7370
【c++】优先级队列与仿函数:C++编程的强大组合
s在 C++ 的 std::priority_queue` 实现中,默认情况下,优先级是用元素之间的小于操作来判定的,即元素越大优先级越高
用户11029103
2024/05/06
1610
【c++】优先级队列与仿函数:C++编程的强大组合
【C++修行之道】竞赛常用库函数(sort,min和max函数,min_element和max_element、nth_element)
sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。
走在努力路上的自己
2024/01/26
4570
【C++修行之道】竞赛常用库函数(sort,min和max函数,min_element和max_element、nth_element)
C++11 Lambda表达式
C++11新增了很多特性,Lambda表达式(Lambda expression)就是其中之一,很多语言都提供了 Lambda 表达式,如 Python,Java ,C#等。本质上, Lambda 表达式是一个可调用的代码单元[1]^{[1]}[1]。实际上是一个闭包(closure),类似于一个匿名函数,拥有捕获所在作用域中变量的能力,能够将函数做为对象一样使用,通常用来实现回调函数、代理等功能。Lambda表达式是函数式编程的基础,C++11引入了Lambda则弥补了C++在函数式编程方面的空缺。
恋喵大鲤鱼
2019/02/22
1.3K0
STL_vector
vector属于动态数组,类比于Java里面的ArrayList,本文旨在为读者讲解最常用的vector的函数,与一些使用技巧,作者为算法工程师,所以比较偏向于算法题的写法。
GeekLiHua
2025/01/21
330
❤ 挑战C站最强C++ STL标准库总结(内含大量示例)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,(ノ´▽`)ノ♪-》点击这里->一个宝藏级人工智能教程网站。
全栈程序员站长
2022/09/09
1.4K0
❤ 挑战C站最强C++ STL标准库总结(内含大量示例)
【C++】lambda解决个性化排序问题(对比仿函数)(代码演示)
YY的秘密代码小屋
2024/01/23
1660
【C++】lambda解决个性化排序问题(对比仿函数)(代码演示)
相关推荐
C++提高编程笔记合集
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文