考虑一个数组。根据另一个提供元素新位置的数组(不先复制该数组的副本),将其元素置换的好方法是什么?
例如
int a[]={37,43,5,10}; //array to permute
int b[]={3,1,4,2}; //new position of each element
Run Code Online (Sandbox Code Playgroud)
所以一个应该成为
{43,10,37,5}
Run Code Online (Sandbox Code Playgroud)
我自然想到了制作a的副本,然后在新位置重新分配其元素。但是有没有一种方法可以不复制数组(即更简单的方法)呢?
注意:如果可能的话,不应使用特定的C ++标头,而应仅使用<iostream>