假設我有以下設置:如何有效排序一個數組另一
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