bool comp(int a, int b)
{
if((a >= 0 && b >= 0) || (a < 0 && b < 0))
return false;
if ((a >= 0) && (b < 0))
return false;
}
std::array<int, 9> arr = { -12, 11, -13, -5, 6, -7, 5, -3, -6 };
std::sort(arr.begin(),arr.end(),comp);
for (auto x : arr) {
std::cout << x << " ";
}
输出:
-12 -13 -5 -7 -3 -6 11 6 5
当我浏览代码并遇到此比较器功能时。 我试图找到比较器实际上是如何工作的,但是却无法理解。通过比较器增加和减少数量非常容易。请说明这是怎么工作的。