sort使用

具体使用

cpp 复制代码
bool myfunction(int i, int j) { return (i < j); }

class my_function
{
public:
	bool operator()(int i, int j) { return (i < j); }
};
int main()
{
	int array[] = { 4,1,8,5,3,7,0,9,2,6 };
	
	// 默认按照小于比较,排出来结果是升序
	std::sort(array, array + sizeof(array) / sizeof(array[0]));
	for (int i = 0; i < 10; i++)
	{
		cout << array[i];
	}
	cout << endl;
	//函数调用//myfunction表示函数的地址
	std::sort(array, array + sizeof(array) / sizeof(array[0]), myfunction);
	for (int i = 0; i < 10; i++)
	{
		cout << array[i];
	}
	cout << endl;
	//仿函数调用
	std::sort(array, array + sizeof(array) / sizeof(array[0]), my_function());
	for (int i = 0; i < 10; i++)
	{
		cout << array[i];
	}
	cout << endl;
	// 如果需要降序,需要改变元素的比较规则
	std::sort(array, array + sizeof(array) / sizeof(array[0]), greater<int>());
	for (int i = 0; i < 10; i++)
	{
		cout << array[i];
	}
	cout << endl;
	return 0;
}

myfunction表示函数地址,改模板比较函数为指针,直接传地址就能调用该函数

my_function()为仿函数的调用

相关推荐
念风零壹7 分钟前
C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
c++
智驱力人工智能12 分钟前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
孞㐑¥1 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
月挽清风1 小时前
代码随想录第十五天
数据结构·算法·leetcode
XX風1 小时前
8.1 PFH&&FPFH
图像处理·算法
NEXT061 小时前
前端算法:从 O(n²) 到 O(n),列表转树的极致优化
前端·数据结构·算法
代码游侠2 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
想进个大厂2 小时前
代码随想录day37动态规划part05
算法
sali-tec2 小时前
C# 基于OpenCv的视觉工作流-章22-Harris角点
图像处理·人工智能·opencv·算法·计算机视觉
子春一2 小时前
Flutter for OpenHarmony:构建一个 Flutter 四色猜谜游戏,深入解析密码逻辑、反馈算法与经典益智游戏重构
算法·flutter·游戏