我正在使用c ++。我有2个短元素数组。首先是值,第二个是第一个数组的索引,应该是递增的。我有这样的代码:
const int N1=...;
const int N2=...;
int arr1[N1];
int arr2[N2];
....
for (int i = 0;i<N2;i++)
arr1[arr2[i]]++;
我想优化这段代码的时间。我想用内在函数。是否可以使用内在函数来实现此目的。
我想你可以尝试使用std::for_each
和std::execution::parallel_policy
并行化它
std::for_each(std::execution::par,
arr2,
arr2 + N2,
[arr1](int i){ arr1[i]++; });
请注意,这将需要访问启用C ++ 17的编译器。