sort函数
sort函数可以用来给指定区间内的数据按照某种规则排序,在这里贴一下sort函数的代码
template<class _RanIt,
class _Pr> inline
void sort(_RanIt _First, _RanIt _Last, _Pr _Pred)
{ // order [_First, _Last), using _Pred
_DEBUG_RANGE(_First, _Last);
_Sort_unchecked(_Unchecked(_First), _Unchecked(_Last), _Pred);
}
能够看出该函数是经过多层调用的,再深层次就不贴了大家可以打开代码库看。
使用时默认情况下是两个参数,例如
vector<int> tmp = {2,1,3,5,7,6,4};
sort(tmp.begin(), tmp.end());
此情况下tmp内元素是按照升序排列的,打印会输出“1,2,3,4,5,6,7”。通过函数代码能看出sort函数是有三个参数的,依次是此区间的起始位、此区间的结束位的下一个和排序方式。如果想按照降序排列,就需要加入第三个参数。
第三个参数的几种实现方式
函数
第三个参数可以是一个函数,返回bool型变量。
bool cmp2(const int n1, const int n2) {
return n1 > n2;
}
sort函数使用方法为: