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()为仿函数的调用

相关推荐
SunnyKriSmile43 分钟前
C语言译码操作
c语言·算法·if语句·译码操作·switch语句
小小小CTFER1 小时前
理论题] 2025 年 “技耀泉城” 海右技能人才大赛网络安全知识竞赛题目(二)
算法·安全·web安全
再睡一夏就好1 小时前
【C++闯关笔记】详解多态
c语言·c++·笔记·学习·语法·1024程序员节
断剑zou天涯3 小时前
【算法笔记】暴力递归尝试
java·笔记·算法
油泼辣子多加3 小时前
【实战】自然语言处理--长文本分类(1)DPCNN算法
算法·自然语言处理·分类
I'm a winner4 小时前
基于YOLO算法的医疗应用专题:第一章 计算机视觉与深度学习概述
算法·yolo·计算机视觉
vir024 小时前
P1928 外星密码(dfs)
java·数据结构·算法·深度优先·1024程序员节
喜欢吃燃面4 小时前
数据结构算法题:list
开发语言·c++·学习·算法·1024程序员节
胡萝卜3.04 小时前
C++ list核心接口与实战技巧
数据结构·c++·list·list使用