数组的高效间接排序

时间:2018-11-09 05:33:52

标签: c++ arrays sorting

例如,如果数组是这样存储的

ex)输入

0 1 2 3 4 5 6 7 8 9
7 5 3 9 1 2 4 8 6 0

我想按大小顺序打印第二个数组的idx

ex)输出

3 , 7 , 0 , 8 , 1 , 6 , 2 , 5 , 4 , 9 

什么是有效的方法?

1 个答案:

答案 0 :(得分:2)

假设您的数字存储在数组([A-Z]+)中:

a

,您想将排序后的索引存储在数组int a[10] = {7, 5, 3, 9, 1, 2, 4, 8, 6, 0}; 中,该数组最初包含按顺序排列的所有索引:

b

然后,您可以根据数组int b[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 中的相应值对索引数组b进行排序:

a

完整演示here