我有3個浮點值的數組:Ç - 排序浮陣列,同時在跟蹤指數的
float norms[3];
norms[0] = 0.4;
norms[1] = 3.2;
norms[2] = 1.7;
我想排序這個數組按降序排列同時保持值的原始指標的軌道在陣列。
換句話說,給定陣列norms[] = {0.4, 3.2, 1.7}
與相應索引{0, 1, 2}
,我基本上要獲得對應ints
反映在norms[]
以下降序排序的float
值的原始位置的陣列。在這種情況下,它將是{1, 2, 0}
。
什麼是最好/最乾淨的方式來實現這一目標?
創建一個包含索引的相同大小的int類型的數組。排序浮點數組時,只需對int數組中的任何交換操作進行鏡像即可。 – jboockmann
使用帶有索引字段的結構,在排序之前編寫每個元素的索引,並保留數組中的原始位置。 –
只需複製原始數組。而已。不需要混淆思想,過時的優化算法。繼續... – Lundin