algorithm头文件下的常用函数

sort()函数

  1. sort()函数的使用
    sort()函数的使用必须加上头文件#include ,其使用方式如下:
sort(首元素地址(必填), 尾元素地址(必填), 比较函数(非必填));

如果不写比较函数,则默认对前面给出的区间进行递增排序。

  1. 结构体数组的排序
    现在定义如下结构体:
struct node{
	int x, y;
}ssd[10];

如果想将ssd数组按照x从大到小排序(即进行一级排序),那么可以这样写cmp函数:

bool cmp(node a, node b)
{
	return a.x > b.x;
}

如果想先按照x从大到小排序,但当x相等的情况下,按照y的大小从小到大来排序(即进行二级排序),那么cmp的写法是:

bool cmp(node a, node b)
{
	if(a.x != b.x) return a.x > b.x;
	else return a.y < b.y;
}

这里的cmp函数首先判断结构体内x元素是否相等,如果不相等,则直接按照x的大小来排序;否则,比较两个结构体中y的大小,并按y从小到大排序。

你可能感兴趣的:(c++)