如何在ASC和DESC模式下对C++数组进行排序?

cpp*_*est 13 c++ arrays sorting

我有这个数组:

array[0] = 18;
array[1] = -10;
array[2] = 2;
array[3] = 4;
array[4] = 6;
array[5] = -12;
array[6] = -8;
array[7] = -6;
array[8] = 4;
array[9] = 13;
Run Code Online (Sandbox Code Playgroud)

如何在C++中以asc/desc模式对数组进行排序?

Arm*_*yan 45

要按升序对数组进行排序,请使用:

#include <algorithm>

int main()
{
   //...
   std::sort(array, array+n); //where n is the number of elements you want to sort
}
Run Code Online (Sandbox Code Playgroud)

要按降序排序,请使用

#include <algorithm>
#include <functional>  

int main()
{
   //...
   std::sort(array, array+n, std::greater<int>());
}
Run Code Online (Sandbox Code Playgroud)

HTH

  • @steven:`algorithm`和`functional`**是**标准头文件,由国际C++标准定义(参见当前草案中的17.6.1.2).手动滚动自己的排序功能是浪费时间.它容易出错,最有可能产生效率较低的代码.是什么让你觉得这是作业?有时人们只想对数组进行排序并继续他们的生活... (7认同)
  • @steven_desu:什么是非标头? (5认同)