all*_*aps 2 c++ sorting stdarray
我需要对 an 进行排序std::array,但我不知道如何使用该函数来执行此std::sort()操作,因为我收到错误“没有重载函数排序的实例与参数列表匹配”和“没有运算符 '+' 与这些操作数匹配”。当我使用相同的语法尝试对常规数组进行排序时,没有出现任何错误。这是产生问题的代码:
#include <algorithm>
#include <array>
int nums[5] = {1, 2, 3, 4, 5};
std::array<int, 5> morenums = {1, 2, 3, 4, 5};
int main(){
std::sort(nums, nums + 5);//no error
std::sort(morenums, morenums + 5);//error
}
Run Code Online (Sandbox Code Playgroud)
我试图使用该std::sort()方法对 an 进行排序std::array,但我不知道如何执行此操作,因为我不断收到错误。
Hol*_*Cat 10
与对任何其他容器进行排序相同,例如std::vector:
std::sort(morenums.begin(), morenums.end());
Run Code Online (Sandbox Code Playgroud)
这是具有奇怪语法的普通数组,而不是std::array.
您还可以执行std::sort(std::begin(morenums), std::end(morenums));or操作std::ranges::sort(morenums);,这些操作适用于普通数组和容器。