假设我有以下设置:如何有效排序一个数组另一
double[] vectorUsedForSorting = new double[] { 5.8,6.2,1.5,5.4 }
double[] vectorToBeSorted = new double[] {1.1,1.2,1.3,1.4}
我想基础上的vectorUsedForSorting
自然的数字顺序进行排序vectorToBeSorted
。
例如,自然排序为[1.5,5.4,5.8,6.2]
,其对应于索引[2,3,0,1]
,这意味着我希望排序函数的输出为[1.3,1.4,1.1,1.2]
。
我该如何以最绝对有效/快速的方式做到这一点?我主要关心时间复杂性,因为我将为1,000,000个长度的数组做这件事。
一个快速/有效的答案将奖励一笔大额奖金。
A)写入排序B)传递两个数组C)同时只根据第一个值进行排序。 –
你是否改变了主意w.r.t. [上一个问题](http://stackoverflow.com/questions/21608646/fastest-way-to-sort-an-array-by-a-separate-array-of-indices-indexes)?现在你真的需要排序吗? – maaartinus