sort可以对任何类型进行排序。
sort排序的要求被排序的数据的元素要么能通过<比较,要么由调用方提供比较方法。具体一点说就是:
有两个元素a和b,可以通过a < b的方式判断两个元素的先后顺序(double显然满足)。如果a和b原本不能用于<,就需要重载operator <;
如果a和b不能通过a < b的方式比较,或者排序的需求并不是简单的增序排列。那么要给sort提供第三个参数,暂时称它为f,可以通过f(a, b)的方式确定a和b的顺序。比如下面代码对一个double数组按元素的平方进行降序排列。