关于快排函数中的cmp函数参数
用于快排中比较的函数,可以控制从大到小或者从小到大。
本文主要讨论在c++中的用法。
快排:void sort( iterator start, iterator end, StrictWeakOrdering cmp );
如果是普通实数的排序,则用法如下。
bool cmp(int a ,int b)
{
return a < b ; //从小到大排序,把 < 换成 > 就是从大到小
}
如果是结构体或者c++中其他容器中的某个元素的排序,则用法如下。
struct cmp{
bool operator ()(const int a , const int b)
{
return a < b ; // 从小到大,反过来就是从大到小,此处的a和b应该是结构体中的元素,
//如return a.elem < b.elem ;
}
};
通过使用合适的cmp函数,可以使用快排针对结构体某一元素进行排序。
本文深入探讨了C++中快速排序算法的cmp函数用法,包括如何通过修改cmp函数实现从小到大或从大到小排序,以及如何针对结构体或容器元素进行排序。
595

被折叠的 条评论
为什么被折叠?



