字符串数组的排序c++_sort和qsort排序

字符串数组的排序c++_sort和qsort排序_第1张图片
(图片来自网络配图)

要使用此函数只需用#include sort即可使用,语法描述为:

sort(begin,end),表示一个范围,例如:

字符串数组的排序c++_sort和qsort排序_第2张图片

输出结果将是把数组a按升序排序,说到这里可能就有人会问怎么样用它降序排列呢?这就是下一个讨论的内容.

一种是自己编写一个比较函数来实现,接着调用三个参数的sort:sort(begin,end,compare)就成了。对于list容器,这个方法也适用,把compare作为sort的参数就可以了,即:sort(compare).

1)自己编写compare函数:

字符串数组的排序c++_sort和qsort排序_第3张图片

2)更进一步,让这种操作更加能适应变化。也就是说,能给比较函数一个参数,用来指示是按升序还是按降序排,这回轮到函数对象出场了。

为了描述方便,我先定义一个枚举类型EnumComp用来表示升序和降序。很简单:

enum Enumcomp{ASC,DESC};

然后开始用一个类来描述这个函数对象。它会根据它的参数来决定是采用“<”还是“>”。

你可能感兴趣的:(字符串数组的排序c++)