模板参数指定策略
示例:标准库函数 sort()
●
示例:标准库函数 sort()
●
使用第二个模板参数 ( 比较器 ) 来指定比较的规则(如:降序或升序排列)
#include <iostream>
#include <algorithm>
using namespace std;
void print(int* ar, size_t len) {
for (size_t i = 0; i < len; ++i)
cout << ar[i] << ' ';
cout << '\n';
}
bool absGreater(int x, int y) {
return abs(x) > abs(y); abs是求绝对值
}
int main() {
int ar[] = { 123, -23, 4, -56, 78, 12 };
const size_t N = sizeof(ar) / sizeof(*ar);
sort(ar, ar + N, less<int>()); 升序排列
sort(ar, ar + N, greater<int>()); //降序排列
sort(ar, ar + N, absGreater);
print(ar, N);
}