使用sort()进行降序而不是升序C++

Pfy*_*919 3 c++ arrays sorting

我试图给用户分配2d数组的行或列.我的代码可以按升序排序,但不能降序排序.

void sortArray(int arr[12][12], int index, int row)
{
   if (row == 0)
   {
       sort( arr[index] , arr[index] + 12);
   }
   else 
   {
       int tempArr[12];
       getColArr(arr, tempArr, index);
       sort(tempArr, tempArr + 12);
       for (int i = 0; i < 12; i++)
       {
           arr[i][0] = tempArr[i];
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

如何将其更改为降序?

Ste*_*hen 5

使用std::greater作为第三个参数std::sort

std::sort(begin(vec), end(vec),std::greater<int>());
Run Code Online (Sandbox Code Playgroud)

FYI ..当您使用std::sort没有第三个参数时,第三个参数默认为std::less.