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

相关推荐
雨落倾城夏未凉27 分钟前
8.被free回收的内存是立即返还给操作系统吗?为什么?
c++·后端
雨落倾城夏未凉30 分钟前
6.new和malloc的区别
c++·后端
郝学胜-神的一滴34 分钟前
深入理解QFlags:Qt中的位标志管理工具
开发语言·c++·qt·程序人生
John.Lewis1 小时前
数据结构初阶(13)排序算法-选择排序(选择排序、堆排序)(动图演示)
c语言·数据结构·排序算法
AI小白的Python之路1 小时前
数据结构与算法-排序
数据结构·算法·排序算法
DashVector1 小时前
如何通过Java SDK检索Doc
后端·算法·架构
zzz9331 小时前
transformer实战——mask
算法
INS_KF1 小时前
【C++知识杂记2】free和delete区别
c++·笔记·学习
一只鱼^_2 小时前
牛客周赛 Round 105
数据结构·c++·算法·均值算法·逻辑回归·动态规划·启发式算法
是阿建吖!2 小时前
【动态规划】斐波那契数列模型
算法·动态规划