我想使用C++标准库对一系列样本进行升序排序,同时还要记住新样本的原始索引。
例如,我有一个由样本组成的集合、向量或矩阵A : [5, 2, 1, 4, 3]
。我想将它们排序为B : [1, 2, 3, 4, 5]
,但我还想记住这些值在原始集合'A'中的索引,以便获取另一个集合,即:C : [2, 1, 4, 3, 0 ]
——它对应于每个元素在'B'中的索引,在原始集合'A'中的位置。
例如,在Matlab中,您可以执行以下操作:
[a,b]=sort([5, 8, 7])
a = 5 7 8
b = 1 3 2
有人能想到一个好的方法吗?