假设我们有一个向量foo
,我们必须临时置换它(排序或重新排序),在它的基础上计算一些向量,bar
最后置换回原来的顺序- 这意味着逆置换:foo
bar
foo
foo <- c(1, 7, 3, 5, 2)
o <- order(foo)
foo <- foo[o] # Now foo is permuted, and sorted: foo == 1 2 3 5 7
bar = 2 * foo # bar == 2 4 6 10 14
这里应该是你的答案,这样我们就有了以下所需的最终值:
foo == 1 7 3 5 2
bar == 2 14 6 10 4
这该怎么做?
请不要回答:“你可以做bar = 2 * foo
而不是改变它”。这只是一个简单的例子。在某些情况下,我们必须对foo
效率进行排序(快速搜索)或类似的东西。