原值(数组1):10 20 30 40 50
重新排列索引(数组2):4 2 0 1 3
如何根据第二个数组的索引重新排列第一个数组?例如,50将是输出的第一个值,因为它是第四个索引,4是数组2中的第一个值。提前非常感谢。

i = 0;
while (i <= n) {
  scanf("%d", vector1[vector2[i]]);
  i++;
}

最佳答案

循环vector2并通过访问vector1中的值来使用其值作为指示符
下面的代码可能不是100%正确,我只是写下来了。

for (i = 0; i < sz; i++) {
  newVector[i] = vector1[vector2[i]]
}

所以输出是:50 30 10 20 40

10-07 18:55
查看更多