对数组的索引进行排序

5 c arrays sorting algorithm

我有一个看起来像这样的数组:a[]={2,3,4,5,8,2,5,6}
现在我想对索引进行排序,但保持原始数组不变,并得到这样的东西a_index[]={0,5,1,2,3,6,7,4}......

我有一个O(N^2)算法。有人能给我一个更好的吗(最好是O(NlogN))?

ami*_*mit 4

创建一个包含两个字段的结构:indexvalue

创建此结构的数组,其中每个元素(结构)是数组中元素的原始索引和值。

仅使用 O(nlogn) 中的值对结构进行排序。

完成后 - 按排序顺序迭代数组以获取排序索引。