我需要对 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,但我不知道如何执行此操作,因为我不断收到错误。
我正在尝试编写一个简单的函数来检测回文。我找不到一种方法来避免在反转时移动 nums,所以我最终得到了以下结果:
fn is_palindrome(num: String) -> bool {
let nums: Vec<char> = num.chars().collect();
let reversed: Vec<char> = nums.clone().into_iter().rev().collect();
nums == reversed
}
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以在不使用 .clone() 的情况下做到这一点?谢谢。