C++学习笔记——关于STL sort()函数的第三个参数问题

STL    sort()函数有三个参数的重载类型

template<class RandomAccessIterator, class Predicate>
   void sort(
      RandomAccessIterator first, 
      RandomAccessIterator last, 
      Predicate comp
   );

查看MSDN,上述参数的含义如下

first

处理第一元素位置的随机访问迭代器。范围进行排序。

last

寻址最终元素的随机访问迭代器位置将一个排序的范围。

comp

定义的顺序连续的元素将满足的比较条件的用户定义的谓词函数对象。

留意其中示例中自定义谓词函数

bool UDgreater ( int elem1, int elem2 )
{
   return elem1 > elem2;
}

以及下面一句说明

sort 算法不是稳定的。

因此自定义谓词函数还有一个要求必须是不稳定的。否则会valid comparator报错

扫描二维码关注公众号,回复: 4138705 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_40861847/article/details/83042878