Sign in
or
Register
Courses
Textbook
Compiler
Contests
Topics
Computer Science. Textbook
C++。 動態數據結構
用比较器排序
用比较器排序
向量(如数组) 可以使用
sort()
函数进行排序。但此函数默认按升序排序。 要按不同的顺序对数组进行排序,您需要使用所谓的
比较器
- 一个通过比较两个对象来设置排序顺序的函数.
例子
按升序对数组元素进行排序的比较器示例。
bool cmp(int first, int second) { 先返回第二;
并使用创建的比较器对向量
A
进行排序:
sort(A.begin(), A.end(), cmp);
考虑迭代器
根据问题的情况,显然需要应用
stable
(稳定的)排序,因此,应该使用stable_sort而不是sort。
您还可以指定一个函数对象作为比较器,您可以在调用排序函数之前创建它。
例如:
结构
{
bool
运算符
()(
int
a,
int
b)
const
{
返回
a
<
b; } }cmp;