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

相关推荐
AC赳赳老秦5 小时前
采集行为合规自检:OpenClaw 自动校验 robots 协议与采集频率,规避违规采集风险
java·开发语言·c++·python·php·deepseek·openclaw
无名猿6 小时前
C++ 查找算法:std::find 与容器成员 find 的性能差距
c++·性能优化·stl·标准库
程序猿编码6 小时前
工业视觉多任务方案:可编程梯度信息视觉框架,训练评估 + C++ 部署完整实战
开发语言·c++·视觉·推理引擎
朝朝辞暮i7 小时前
C++ 第 21 课:struct —— 把一组相关数据打包在一起
开发语言·c++·算法
青梅橘子皮8 小时前
Blue---二分算法(二分查找与二分答案)
算法
长河8 小时前
Java的GC(垃圾回收)中,标记无用对象的核心方法是可达性分析算法
java·jvm·算法
月光船幽幽8 小时前
加性偏移外推提升参数识别可靠性
python·算法
SHARK_pssm8 小时前
【C++——类和对象(下)】
开发语言·c++·经验分享·笔记
H.莓飛9 小时前
【数据结构】队列
linux·数据结构·centos
汉克老师9 小时前
GESP2026年9月认证C++二级( 第一部分选择题(1~7题)精讲
c++·gesp·小学生·学c++编程